我正在尋找一個簡單的批處理腳本,它將允許我刪除舊文件並記錄它已刪除或不刪除。搜索我在網上找到了後「FORFILES」真的有用:刪除舊文件並登錄它
forfiles -p "C:\what\ever" -s -m *.* -d <number of days> -c "cmd /c del @path"
來自: Batch file to delete files older than N days
就像我說我關心的是記錄哪些已經被刪除。我嘗試了很多東西,但它仍然不起作用。以下是我的實際代碼:
set logfile=D:\what\ever\automatic_delete_log_%date:~10,4%-%date:~7,2%-%date:~4,2%_%TIME:~0,2%.%TIME:~3,2%.%TIME:~6,2%.txt
forfiles /p "C:\what\ever\Downloads" /s /m *.* /D -290 /C "cmd /c set status=failed; del @path && set status=success; echo @path @fdate %status% >> %logfile%"
echo %logfile%
日誌文件已創建但爲空,且舊文件未被刪除。 (它應該從2016年移除我擁有的8個文件)當我使用原始代碼時,它將刪除文件。我讀它可能會轉義& &。我試圖逃避他們,我試圖逃脫;我試圖逃脫他們兩個沒有更多的成功。我不知道該怎麼做。有人可以幫忙嗎?
ojectiv是刪除文件,如果它成功記錄「路徑,日期,成功」,否則記錄「路徑,日期,失敗」。
請記住,如果前一個命令成功(即ERRORLEVEL EQU 0),&&將只運行下一個命令。 – lit
...而且你不用兩行代碼分號 – Compo