【发布时间】:2019-03-15 13:36:37
【问题描述】:
我想打开一个新的命令提示符,运行一个程序并将输出(现在显示在命令提示符中)保存在日志文件中。
到目前为止我使用了这个命令:
cmd /c start "window title" "C:\Program Files\app.exe"
通常我可以使用
"C:\Program Files\app.exe" >out.txt
将命令提示符上的内容保存在文件中。 由于需要在另一个窗口中执行程序,我正在努力正确设置输出。
为什么我需要额外的窗口?
--> 程序会被多次调用。我需要一个许可证,我在那里受到限制。如果程序在同一个窗口中调用,3次3次后出现错误,告诉我,我同时使用了多个许可证。
通过额外的打开和关闭窗口,这个“许可证问题”得到了解决。
但是我找不到输出的解决方案。
Lua 被标记,因为这个命令嵌入在 Lua 的os.execute()
【问题讨论】:
-
您的问题不清楚,您已经向我们展示了您知道如何将输出设置为文件,那么您为什么还要努力设置呢?
-
你为什么使用命令
start?cmd /C已经启动了将标准控制台输出重定向到文件所需的命令进程。命令start又启动了一个命令进程。所以我看不出有任何理由使用命令start。带有命令%SystemRoot%\System32\cmd.exe /C window title& "%ProgramFiles%\app.exe" >"%UserProfile%\Desktop\out.txt"的快捷方式 (*.lnk) 的作用完全相同,无需从已启动的命令进程中启动第二个命令进程。 -
您似乎正在寻找一种解决方案来解决变通办法限制,因为使用许可应用程序的频率高于购买的许可证授予的频率。如果您需要的不仅仅是解决由于没有足够的许可证而造成的限制,您应该购买更多的许可证。
-
恕我直言,在许可协议的限制范围内工作并没有错。试图实际规避上述许可协议的执行是有问题的。
-
@Compo :我很挣扎,因为对我来说相当新的语法和引用规则。
标签: batch-file cmd lua out