如何使用批处理文件修改所有文件和子目录的时间戳(上次修改)

时间:2016-09-21 16:05:48

标签: batch-file cmd

我希望更改“我的文档”中所有文件和目录的上次修改时间戳。原因是所有超过3个月的文档都会在我使用的服务器上删除。这只是保存我的文件的一种技巧,因为我经常需要在较长时间后再次使用它们。

到目前为止,我使用以下代码管理的是更改所有文件的“上次修改”时间戳,包括在子目录中。但它不会改变子目录本身的时间戳。

@echo off
for /f "delims=" %%a in ('dir /ad /b /s') do (
pushd "%%a"
copy  /B /Y  *.*+,,
popd
)

经过一些研究后我得到了这段代码,但是完全不明白...... 我希望你们能帮忙

1 个答案:

答案 0 :(得分:0)

我用以下代码解决了它。 正如@aschipfl建议的那样,我创建了一个随机文件,然后立即将其删除

@echo off
copy  /B /Y  *.*+,, >nul
echo. > randomfile.txt
if exist randomfile.txt del randomfile.txt /Q
for /f "delims=" %%a in ('dir /ad /b /s') do (
pushd "%%a"
copy  /B /Y  *.*+,, >nul
echo. > randomfile.txt
if exist randomfile.txt del randomfile.txt /Q
popd
)
cls
echo All files and folders updated %date% %time%
pause