我想做一個簡單的批處理腳本,比較4個不同目錄中的4個文件,並將「上次修改」文件放入一個變量中。我就用「目錄」是排序和使用的修改日期排序它最接近的:如何獲取多個目錄中文件的最後修改日期?
for /f "tokens=*" %%G in ('dir *.txt /b /s /a-d /od C:\testing ') do SET newest1=%%G
然而,這隻能在一個目錄中工作。所以我的問題是,如何確定最後修改的文件來自多個目錄(實際上需要四個不同的文件夾)。
我已經試過:
FOR /F %%i IN ('DIR /b /s /O:D /T:W C:\testing\test1\test.txt C:\testing\test2\test2.txt') DO SET NEWEST=%%i
但是,這並不與多個目錄工作。我猜測,因爲我正在處理多個目錄,排序不起作用,所以我還能使用什麼?
一些注意事項:
需要將文件比較精確到秒
某些文件可以得到相當大的,所以將它們複製所有到另一個文件夾,然後比較它們將需要太長時間,它效率不高
這些文件是否有共同的文件規格?有關文件的詳細信息可以幫助您獲得最簡單的解決方案。如果這些文件位於同一個驅動器上,那麼移動操作是非常迅速的操作,它們可以被移回 - 但我們對這些文件知之甚少。 Robocopy也可以用來獲取最新的文件 - 取決於文件的位置。 – foxidrive 2014-09-13 07:36:02
你說「4個文件」 - 所以你知道文件名 - 或者是文件名變量? – Magoo 2014-09-13 08:19:08