2015-07-06 39 views
0

我想做的事情echo只檢查從一個文件中的日期與forfiles一個特定的文件:批次 - 刪除與FORFILES

forfiles /m "C:\Backups\TEST.bak" /c "cmd /c echo test" /d -1 

但它返回我的錯誤

的系統找不到指定的文件。

而且該文件存在並且該目錄是正確的。

如果在同一個目錄使用forfiles(無文件),它工作正常:

forfiles /p "C:\Backups" /c "cmd /c echo test" /d -1 

我在做什麼錯?

回答

1

的問題是,FORFILES需要目錄作爲參數。您可以改爲使用文件。這不起作用。

相反,你應該這樣做:

FOR %%a in (C:\Backups\TEST.bak) DO SET FileDate=%~ta 

這將文件的體改日期存儲在%FileDate%

+0

抱歉,':'從路徑是在我的代碼,而不是在後。 – user1911

+0

我想用'forfiles'因爲我可以檢查文件是否已超過一天。 – user1911

1
forfiles /p "c:\Backups" /m "test.bak" /d -1 /c "cmd /c echo @fdate @ftime" 

/p需要一個文件夾開始搜索

/m需要一個文件掩碼指出哪些搜索

+0

如果我想做回調,我該怎麼辦? – user1911

+0

@ mac94,對不起,我不明白這個問題。請你能解釋你想獲得什麼? –

+0

我想替換回聲並做回調。在我的批處理文件中調用':end'。 – user1911