2015-10-18 39 views
0

我在我的节目一个简单的问题,我似乎无法找到答案。我有一个名为Start.Bat的文件,它获取用户名/日期和时间并将其附加到LOGS.txt文件。当我运行脚本时,它会转到logs文件,但它永远不会停止追加日期/时间,所以我的程序被卡住并且不会关闭。这是我的代码。日志文件就不会停止更新

@echo off 
cls 
echo Date: %date% Time: %time% 
echo Username: %username% 
start.bat >> C:\scripts\ColWork3\LOGS.txt 
exit 

这是什么我logs.txt文件中获取

Date: 18/10/2015 Time: 16:14:13.76 
Username: JOEY 

Date: 18/10/2015 Time: 16:15:53.68 
Username: JOEY 

Date: 18/10/2015 Time: 16:15:53.69 
Username: JOEY 

Date: 18/10/2015 Time: 16:15:53.69 
Username: JOEY 

Date: 18/10/2015 Time: 16:15:53.69 
Username: JOEY 

因此,大家可以看到它只是不断更新每毫秒并不会结束我的批处理文件的样本。

我将如何得到它显示只有一次让那么我的批处理文件可以停止?

即使我只有一个>符号追加只显示一个记录,但是不断更新相同的记录,直到我手动关闭命令提示符。

+0

是什么叫它递归是什么意思?而我奉命调用它的start.bat,有没有保持其名称的start.bat –

+0

嘛,严格地说,你可以用'start.bat'任何解决办法,它只是UHM好不好的做法。至于递归,为什么不阅读谷歌上的单词的第一个链接? – wOxxOm

回答

0

你递归调用批处理文件,但你并不需要这一点。
只需重定向echo命令。

@echo off 
echo Date: %date% Time: %time%>> C:\scripts\ColWork3\LOGS.txt 
echo Username: %username%>> C:\scripts\ColWork3\LOGS.txt 

或重定向的一组命令:

@echo off 
(
    echo Date: %date% Time: %time% 
    echo Username: %username% 
)>> C:\scripts\ColWork3\LOGS.txt 

P.S. start是一个内部命令名称,因此最好将其重命名为launch.bat

+0

非常感谢你解决了我的问题。我假设递归地调用它是给我的问题,我感谢帮助! –

+0

是的,你是对的! – wOxxOm