2016-09-21 116 views
0

我正在修改「我的文檔」中所有文件和目錄的最後修改時間戳。原因是所有超過3個月的文檔都會在我使用的服務器上被刪除。這只是保留我的文檔的一個技巧,因爲我經常需要更長的時間。如何使用批處理文件修改所有文件和子目錄的時間戳(最後修改)

我到目前爲止使用下面的代碼管理的是更改所有文件(包括子目錄中)的「上次修改」時間戳。但它不會改變子目錄本身的時間戳。

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

我這一段代碼經過一番研究,但不完全瞭解它... 我希望你們能幫助

+1

創建一個臨時隨機文件並將其刪除隨即;這應該會改變父目錄的最後修改日期... – aschipfl

+1

有一些方法可以做到這一點,因爲我相信你會找到。我想你應該考慮爲什麼超過三(3)個月的文件被刪除。這可能是該組織的法律政策。如果這是該組織的保留政策,那麼也許你應該遵守。規避這可能會產生法律後果。 – lit

+0

@Liturgist我問過我的老闆(CEO)。這是爲了避免員工將個人文件保存在「我的文檔」中。 我對保存個人文件不感興趣,但寧願能夠存儲我的會議記錄等。 – Thundereagle

回答

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 
相關問題