2015-04-01 135 views
1

我有一個Windows Bach程序我寫入記錄計算機的時間和停機時間。Cmd窗口意外關閉

林有點新來編碼,但我已經找到了如何做數學時間,即使在這裏日期和在robvanderwoude.com。

在那裏,我發現使用命令行,批處理文件:

DateDiff [date1] [date2] 

得到天過去,但是當我運行該程序只是關閉向下的信息被收集後。

如何讓程序繼續工作?

@Echo off 
    FOR %%A in (%DATE%) DO SET Today=%%A 
    ::test information 
    Set lastdayran= 03/25/2015 
    DateDiff %Today% %lastdayran% 
    Pause 
+2

向我們顯示您的代碼。您可能剛剛達到腳本的自然結束位置,如果通過雙擊運行腳本,該腳本將關閉。 – SomethingDark 2015-04-01 19:25:56

+0

我的程序結束時有暫停命令。它不應該關閉。 – Echi 2015-04-01 20:01:45

回答

1

該腳本正在關閉,因爲您沒有使用call來運行DateDiff.bat。在不使用call的情況下運行腳本時,流程會轉移到第二個腳本並停留在此處。如果您使用call,腳本流程將在第二個腳本完成後返回到原始腳本。

@Echo off 
FOR %%A in (%DATE%) DO SET Today=%%A 
::test information 
Set lastdayran= 03/25/2015 
Call DateDiff %Today% %lastdayran% 
Pause 
+0

DateDiff.bat像命令一樣運行,當我調用它時,命令的「語法」不是輸出。 – Echi 2015-04-01 20:12:49

+0

@Echi - 它仍然是一個單獨的腳本。您可以使用'call'命令調用單獨的腳本。相信我,我自己嘗試過,當你加入'call'時,它會暫停。我承諾。 – SomethingDark 2015-04-01 20:29:59

+0

這應該是被接受的答案 – user2682863 2017-05-30 19:32:46