2015-04-01 137 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