我使用Start
命令(在命令提示符下)同时执行某些程序。我刚刚使用了这样的命令:
start time_calulation.pl > d:\Public\Sample-Programs\testlog.txt
程序正确执行,但testlog.txt
日志文件没有数据,它是一个0(零)字节文件。
在Start
之后,日志文件创建完美,但我需要使用Start
。
请有人帮我找到解决方案。
答案 0 :(得分:1)
帖子中的启动命令告诉Windows执行以下操作:使用"启动"打开一个新的命令提示符,运行程序" time_calulation.pl"在新的命令提示符中并管道"启动"的STDOUT。命令到文件" d:\ Public \ Sample-Programs \ testlog.txt"。
我的第一个倾向是修改Perl脚本来处理创建日志文件。由于您还没有共享该脚本的源代码,因此我将提供不同的解决方案。
首先,创建调用Perl脚本的批处理文件(time_calulation.bat),并将Perl脚本的STDOUT管道化为文件。在您的示例中,批处理文件将包含:
perl time_calulation.pl > d:\Public\Sample-Programs\testlog.txt
有人可能会想要做这样的事情:
start time_calulation.bat
但是,新打开的命令提示符不会消失。我想在运行Perl脚本后确实希望它消失。在start命令的帮助中描述了此行为。它指的是cmd.exe的/ K选项。如果查看cmd.exe的帮助,则有一个/ C选项可以使命令提示符终止。
所以我相信以下会做你想做的事:
start cmd.exe /C time_calulation.bat
这将打开一个新的命令提示符以运行批处理文件,并在批处理文件完成后关闭该新命令提示符。该批处理文件正在运行Perl脚本,并将Perl脚本的STDOUT传送到文件。