首页 > 解决方案 > windows cli cmd.exe /c 不使用 http 链接作为参数

问题描述

如果我运行以下命令

cmd.exe /c "D:\test\phantomjs.exe -h >D:\test\test.txt"

在 exe 的帮助下,我在 test.txt 中得到了不错的输出。然而,如果我执行以下命令:

cmd.exe /c "D:\test\phantomjs.exe save_page.js http://mytest.com/testapp/test.html >D:\test\test.txt"

我得到一个没有输出的 text.text 。似乎使用 /c 的 cmd.exe 不适用于我拥有的 http 参数...

所以,如果我直接点击开始/运行并打开一个新的命令窗口,cd 到我的 d:\test 并执行命令:

phantomjs.exe save_page.js http://mytest.com/testapp/test.html >D:\test\test.txt

它工作得非常好:)大声笑..我不明白为什么用 /c 调用 cmd.exe 时同样不起作用?在更长的时间里,我试图在 C# 中开始这个过程,但在我的故障排除中,我发现我的根本原因是我认为它甚至无法在 C# 之外手动工作,因此在这里我被困在试图弄清楚为什么这会不适用于 "cmd/exe /c" 。提前致谢。

标签: windowscommand-line

解决方案


我发现如果使用 /k 而不是 /c 它将打开 cmd 窗口:) 然后我可以看到它找不到 save_page.js 并且由于 cmd 我坐在 c:\windows\system32 /c 或 /k ugh lol.. 所以使用这组参数有效

cmd.exe /c ""D:\test\phantomjs.exe" "D:\test\save_page.js" http://mytest.com/testapp/test.html >D:\test\test.txt"

提示任何 cmd.exe /c 的人,不要忘记 /k 它会使创建的 cmd 窗口保持打开状态,因此您可以看到发生了什么;)


推荐阅读