我目前正在處理我的第一個初級IT職位,並且遇到了一個簡單的批處理文件問題。計劃文件夾清理 - 批處理文件
本質上,該文件每週通過任務計劃程序運行。它從大於8天的服務器目錄中刪除文件和文件夾。它也應該刪除空的文件夾。
forfiles /p "P:\blahblah" /s /m * /d -8 /c "cmd /c del /Q /S /F /A @path"
cd /d P:\blahblah
for /f "usebackq" %%d in (`"dir /ad/b/s | sort /R"`) do rd "%%d"
REM robocopy "P:\blahblah" "P:\blahblah" /s /move"
這裏有兩個問題; 它會偶爾刪除幾天前的文件。 它不會刪除空文件夾。
該文件是由一位老初級IT員工編寫的,沒有任何文檔。我的猜測是使用了多種方法來確保清理(具有諷刺意味)。我已經搜索谷歌,這裏是我對每個命令的當前想法..
1)forfiles - forfiles命令似乎寫入正確,我沒有看到任何問題。 3)for - 不完全確定。3)for - 不完全確定。3)for - 不完全確定。批處理變量對我來說是新的,我不確定它是否正常工作。
4)robocopy - 我一直無法在網上找到一個實例,在那裏有人將一個目錄複製到自己進行清理。我還注意到那裏有額外的引文,但我不確定它的錯誤。這條線對我來說似乎很奇怪。
通常我會嘗試和測試我通過類似的東西,但它有點難以快速測試,因爲我需要看看它是否基於日曆日期去除東西。這就是我來這裏的原因!
我保證我不會問我是否已經在互聯網上尋找一個想法。任何幫助將不勝感激,我想更多地瞭解上述命令!
感謝您的幫助!
您的FOR命令將失敗,因爲它缺少脫字符以逃脫PIPE。另外,FOR命令應該使用delims選項來強制它不使用任何分隔符。你不應該需要usebackq選項。 Robocopy不會執行,因爲它是用REM命令註釋掉的。 – Squashman