[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 请麻烦看一下创建时间改成修改时间的批处理是哪里的问题?

  1. @echo off
  2. ::把批处理跟需处理的文件放在一起运行
  3. setlocal enabledelayedexpansion
  4. set olddate=%date:~,10%
  5. for /f "delims=" %%a in ('dir /a-d /b ^|find  /i /v ".bat"') do (
  6. set "file=%%~dpa%%a"
  7. set "file=!file:\=\\!"
  8. echo !file!
  9. for /f "tokens=1* delims=. " %%b in ('wmic datafile where name^="!file!" get LastModified ^|find "."') do set "creationdate=%%b"
  10. set "tmpdate=!creationdate:~,4!/!creationdate:~4,2!/!creationdate:~6,2!"
  11. set "tmptime=!creationdate:~8,2!:!creationdate:~10,2!:!creationdate:~12,2!"
  12. date !tmpdate!
  13. time !tmptime!
  14. copy /b "%%a"+,, /y
  15. )
  16. date %olddate%
  17. echo 请手动更新系统日期时间
  18. pause
复制代码
我用的是  LastModified,这个,但是把创建时间改成了 访问时间,这是怎么回事呢,我想把创建时间改成修改时间的,这是哪里的问题呢

右键看看修改时间和访问时间是不是一样的?

TOP

回复 2# went


    不是的

TOP

PowerShell "(New-Object -com Shell.Application).Windows() | ?{ $_.FullName -match '\\explorer\.exe$' } | forEach{ $_.Quit() }; get-Item 'E:\Test' | forEach{ $_.LastWriteTime = get-Date; $_.CreationTime = get-Date }
这个命令怎么跟上面的批处理放一起呢, copy命令好像不起作用,用这个powershell怎么改创建时间呢,有知道的吗

TOP

创建时间改为修改时间
  1. powershell -c "Get-ChildItem *.bat | foreach {$_.CreationTime = $_.LastWriteTime}"
复制代码

TOP

回复 5# went


    这条命令好像有点牛b,copy好用啊

TOP

返回列表