windows - 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" 。提前致谢。
解决方案
我发现如果使用 /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 窗口保持打开状态,因此您可以看到发生了什么;)
推荐阅读
- google-sheets - 按列 B 和 C 对列 A 分区进行排序的数组公式
- hibernate - 非主键之间的休眠关系OneToMany
- google-cloud-platform - 我可以将 Dataflow 作业配置为单线程吗?
- google-chrome - 如何使 Chrome 警告弹出“您的密码可能被泄露”消失
- c# - 使用 ASP.NET C# 在 SQL Server 中存储和查看图像
- android - 将数据从 ACTIVITY 传递到 FRAGMENT 不适合我
- react-native - ReactNavigation headerRight 按钮不起作用
- python - 使用 Matplotlib 在图中打印 .txt 文件
- mysql - 监控 MySQL 数据库并通知更新
- selenium - 在 Python Selenium (v3.141.0) 中使用正则表达式定位更改的 xpath