Board logo

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

作者: swanseabrian    时间: 2021-10-13 21:28     标题: 请麻烦看一下创建时间改成修改时间的批处理是哪里的问题?

  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,这个,但是把创建时间改成了 访问时间,这是怎么回事呢,我想把创建时间改成修改时间的,这是哪里的问题呢
作者: went    时间: 2021-10-13 21:43

右键看看修改时间和访问时间是不是一样的?
作者: swanseabrian    时间: 2021-10-13 21:47

回复 2# went


    不是的
作者: swanseabrian    时间: 2021-10-14 19:36

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怎么改创建时间呢,有知道的吗
作者: went    时间: 2021-10-14 19:50

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

作者: swanseabrian    时间: 2021-10-14 20:03

回复 5# went


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




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2