我必須在目錄中找到最新的文件。我用下面的代碼對最近的文件工作正常,但我的問題是,有兩個文件生成相同的時間戳,例如查找批處理腳本中的最新文件
s_dss_000GJ00I0000000000IW_9_error.csv
s_dss_000GJ00I0000000000IW_8_1_2013_14_10_standard_error.csv
我的代碼是:
for /f "delims=" %%x in ('dir /od /a-d /b %1') do set recent=%%x
在這裏,我路過%1%說法是s_dss_000GJ00I0000000000IW_9*.csv
找到最新的文件。此代碼返回最近的文件爲s_dss_000GJ00I0000000000IW_8_1_2013_14_10_standard_error.csv
,但我想要最近的文件爲s_dss_000GJ00I0000000000IW_9_error.csv
。
能否請你幫我在這?
歡迎來到Stack Overflow。請儘快閱讀[關於]頁面。假設你通過了通配符表達式,那麼名稱中帶有_8_'的文件如何被選中?你怎麼知道'_9_'文件應該優先於'_8_'文件來選擇?如果有'_10_'替代'_9_'的文件會發生什麼?是基於名稱還是文件時間戳的標準? –
如果兩個(或更多)文件具有相同的時間戳,則兩個(或更多)文件都是「最近的」。 – Endoro
您的代碼有效。在命令行測試它:'for/f「delims =」%x in('dir/od/a-d/b s_dss_000GJ00I0000000000IW_9 * .csv')do @echo%x'。 – Endoro