這個問題是來自調度程式任務、批處理程式,還是我想使用批處理程式洗掉它的檔案夾中的檔案?這是批處理程式:
forfiles /p "D:\nameOfFolder" /s /m *.* /d -7 /c "cmd /c del @path"
uj5u.com熱心網友回復:
更換/M *.*的/M *,甚至包括但擴展名的檔案,因為forfiles對待通配符不同于大多數其他的命令。/M *甚至可以省略,因為無論如何這是默認設定。
關于forfiles迭代檔案和目錄,因此您需要排除后者,因為del可能會嘗試洗掉其內容。因此,實作一個基于forfiles-specific 變數的條件@isdir。
forfiles /S /P "D:\nameOfFolder" /M * /D -7 /C "cmd /D /C if @isdir==FALSE del @path"
作為旁注,永遠不要將尾部反斜杠附加到(參考的)路徑,因為類似的東西/P "D:\"會讓命令失敗,因為它\"構成了 的轉義引號forfiles,破壞了命令列。但是,您可以指定/P "D:\.".
uj5u.com熱心網友回復:
你確定你有這樣的檔案嗎?
我嘗試了以下(非常相似的)命令:
forfiles /p "C:\Temp_Folder" /s /m . /d -7 /c "cmd /c echo @path"
ERROR: No files found with the specified search criteria.
我注意到的一件事是目錄的名稱不應以反斜杠結尾:
forfiles /p "C:\Temp_Folder" is working fine.
forfiles /p "C:\Temp_Folder\" is not working.
uj5u.com熱心網友回復:
.就其本身而言,它不是提供給 的有效搜索掩碼/m。
您需要使用*.*(all) *.ext(提供的擴展名)*string*.*(名稱中包含字串的檔案)。
?也支持作為搜索掩碼來匹配任何字符。示例:*.?a*將匹配任何擴展型別a為第二個字符的檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/420404.html
標籤:
上一篇:將檔案移動到檔案夾
下一篇:批量檢查視窗位置
