2015-07-01 191 views
0

我有一個file.txtWindows,我想檢查文件的修改日期是否等於if statement的某個日期。它會檢查batch file獲取文件的修改日期 - 條件Windows批處理

這是主意,讓德日期:

for %a in (file.txt) do set FileDate=%~ta 

但我需要與條件,如果條件爲真,這將執行SQLCMD命令。

回答

1

你能嘗試:

set date_today=%date:~0,2%/%date:~3,2%/%date:~6,4% 

for %%x in ("your_file.txt") do set date_of_file=%%~tx 

IF %date_of_file:~0, 10% == %date_today% goto same 
goto notsame 

:same 
your sqlcmd command 

:notsame 
another thing 

當然,你會修改%date_today%到你想要的日期。

+1

謝謝,這就是主意! %%〜tx的含義是什麼? – user1911

+1

如何在If語句中添加更多條件? – user1911

+1

'%%〜t'表示變量的日期/時間,在這裏是'x'。所以你有'%%〜tx',但如果你改變'for %% x',你可以有其他任何東西。 %%在批處理腳本中使用;對於cmd.exe中的簡單命令,您只能使用一個%:PS:在這裏查看我所說的精確度,您將更好地理解for命令的用法:http://ss64.com/nt /syntax-args.html – AymericB

0

你期望做的事對我來說不是很清楚。

你的file.sql包含一個查詢,它只是返回一個日期的行嗎?

所以我認爲你應該執行file.sql(用一些sqlcmd),然後得到查詢的輸出,最後在你的批處理文件中用IF語句進行比較。我當然可以幫助你,但我不確定你想要什麼。

+1

對不起。不,file.sql就是一個例子。可能是file.txt或file.x.這是無動於衷 – user1911

+0

好的,那麼這個文件可以包含多個日期嗎?此外,如果您希望您的批次瞭解您的日期,我認爲日期應該採用標準化形式(MM/JJ/AAAA) – AymericB

+0

對不起,我誤解了我相信的一些內容。您的文件是否包含日期或您想要該文件的日期? – AymericB

相關問題