我試圖使用forfiles刪除超過7天的文件。這些文件位於UNC路徑中。以下是我正在使用的腳本。forfiles與UNC路徑
Forfiles -p \\devexpress\C$\FULL\ -s -m *.* -d -7 -c "cmd /c del /q @path"
但是我得到一個錯誤,提到不支持UNC路徑(\ machine \ share)。
似乎有可用的解決方法,但不能得到明確的答案谷歌搜索。
我試圖使用forfiles刪除超過7天的文件。這些文件位於UNC路徑中。以下是我正在使用的腳本。forfiles與UNC路徑
Forfiles -p \\devexpress\C$\FULL\ -s -m *.* -d -7 -c "cmd /c del /q @path"
但是我得到一個錯誤,提到不支持UNC路徑(\ machine \ share)。
似乎有可用的解決方法,但不能得到明確的答案谷歌搜索。
嘗試重現問題時出現錯誤,說明問題不在於FORFILES不支持UNC路徑,但是CMD無法以UNC路徑作爲默認目錄啓動。如果這也是你的問題,有三種方法可以解決它。
您可以分配的UNC路徑磁盤代號,通過NET USE
NET USE V: \\devexpress\C$
Forfiles -p V:\FULL\ -s -m *.* -d -7 -c "cmd /c del /q @path"
您可以繞過CMD
和直接直接的FORFILES
您可以繞過FORFILES
,並使用FOR
命令以及某些日期檢查邏輯。見我回答這個堆棧溢出問題How can I check the time stamp creation of a file in a Windows batch script?
增強解決PA的第一個答案是:
PushD "\\devexpress\C$\FULL\" &&(
forfiles -s -m *.* -d -7 -c "cmd /c del /q @path"
) & PopD
pushd命令的UNC路徑免費盤符自動映射,所以這是移植性的方法。 找到http://www.petri.co.il/forums/showthread.php?t=24241。
這實際上工作!謝謝@jirkamat –
我知道你不應該說「謝謝」,但謝謝!的xD – Michael