2015-11-18 44 views
2

如何通過批量指令查找'last SUNDAY DATE'? 我試圖爲如何通過批量查找最後一個星期幾日期

echo %date:~4,2%%date:~7,2%%date:~10,4% 

這有利於當前日期 但上週日的日期......任何人都可以通過批量提出任何邏輯。

+2

要獲取日期的添加/子功能,請查看[如何在批處理文件中獲取昨天的日期?](http://stackoverflow.com/questions/23010670/how-to-get-yesterdays-date-in批處理文件) – jeb

回答

3

的Windows PowerShell:

[DateTime]::Now.AddDays(-1 * [DateTime]::Now.DayOfWeek.value__) 

對不起了在批處理(.bat)環境變量%日期%文件聽起來不易做計算。

+0

@jeb謝謝,我已經刪除了Linux和OSX的一部分,因爲我錯誤地達成批處理最初打擊,只識別批處理文件指的是DOS .bat。爲了讓微軟的平臺至少有一個答案,我已經把PowerShell作爲替代品。 –

+0

非常感謝,它按照我的預期工作。我用powershell [DateTime] :: Now.AddDays(-1 * [DateTime] :: Now.DayOfWeek.value__)...現在我如何將輸出存儲到變量。 –

+0

「將輸出存儲到變量中」是否指BATCH文件變量?這很棘手。最簡單的事情是在Powershell中編寫整個腳本。但是,如果這不是一個選項,您可以讓PS腳本返回上個星期日的返回碼。所以如果上個星期天是15日,那麼返回代碼= 15。但是如果上個星期日是在上個月,那麼你必須做一些特別的事情。如果返回碼可能爲負數,則可以在上個月的最後一天返回-1。但是,返回代碼必須是正數,因此請添加40,因此,39是上個月的最後一天。 38接近最後一天,等 –

相關問題