我在CMD運行以下命令:動態日期
Prog.exe - 時間Components_2016_04_19_11.ss
我想寫將每小時運行的批處理文件,我需要的日期在相應地改變 - 日期需要在上面的格式,日期的最後部分是當前小時減7小時
因此,如果現在的時間是1/1/2016 20:43該命令將如下所示
Prog.exe -time Components_2016_01_01_13.ss
我需要幫助創建相應的批處理文件
感謝
我在CMD運行以下命令:動態日期
Prog.exe - 時間Components_2016_04_19_11.ss
我想寫將每小時運行的批處理文件,我需要的日期在相應地改變 - 日期需要在上面的格式,日期的最後部分是當前小時減7小時
因此,如果現在的時間是1/1/2016 20:43該命令將如下所示
Prog.exe -time Components_2016_01_01_13.ss
我需要幫助創建相應的批處理文件
感謝
Get-Date
Get-Date | Get-Member
您可以使用此:
$GBL = 0
do{
Prog.exe
Get-Date
sleep 3600
}
while($GBL -lt 1)
$GBL
它是循環無窮一個變量。裏面的做執行程序並使用睡眠等待3600秒或1小時再次執行。它用於標記執行代碼的日期和時間。
我不明白你是否需要這個或其他東西。
您可以用您需要的代碼修改Prog.exe
的行。
如果你回答我,我可以幫你。
有一個好的一天(:
以供將來參考,類似「寫這篇文章,我這裏是我的要求」的問題沒有得到很好的接收到這兒不過這一次,只是爲了防止更多無法幫助你解決問題,我會幫你解決問題
純批次對於日期數學來說非常麻煩,補償午夜,月份變化,閏年等可能是一場噩夢。使用不同的語言 - 一個具有適當的日期對象,將處理日曆的怪癖,而不必破解它們。
這裏有一個PowerShell的解決問題的方法:
Prog.exe -time ("Components_{0}.ss" -f (Get-Date).addHours(-7).toString("yyyy_MM_dd_HH"))
就是這樣,只是一個班輪。如果您需要批處理腳本,則可以使用PowerShell幫助程序執行日期數學繁重工作。
@echo off & setlocal
for /f "delims=" %%I in (
'powershell -noprofile "(Get-Date).addHours(-7).toString('yyyy_MM_dd_HH')"'
) do (
Prog.exe -time Components_%%I.ss
)
goto :EOF
你有什麼試過?如果你正在尋找一個地方開始,[這個答案](http://stackoverflow.com/a/36733204/1683264)可能會給你一些想法。 – rojo
查看'Get-Date -format'。它可以讓你創建你想要的字符串。 https://technet.microsoft.com/en-us/library/ee692801.aspx – lit