它很简单 - 我想从上到下执行一个接一个的命令。
这可能听起来很疯狂,但我想使用很多参数,例如
PUSHD %~dp0
wkhtmltopdf.exe --no-stop-slow-scripts --debug-javascript --javascript-delay 15000 --images --print-media-type "http://ridiculous.lo/ng?url=with&strange=%parameters&including=every%20special%20character%25youCanImagine" filename.pdf
wget -m --recursive --page-requisites --html-extension --convert-links --restrict-file-names=windows --no-parent http://ridiculous.lo/ng?url=with&strange=%parameters&including=every%20special%20character%25youCanImagine"
POPD %~dp0
就是这样。当“手动”输入cmd.exe时,命令运行正常。
最好的方法是什么?我真的需要更换参数中的地狱吗?
START和CMD需要使用字符串等进行非常烦人的处理。
请完成我的一天。
更新请求。通过评论
某种真实的命令:
wkhtmltopdf.exe --no-stop-slow-scripts --debug-javascript --javascript-delay 15000 --images --print-media-type "http://someServer:1337/php/rework/autogen.php?step=AggregationController&AggregationType=PG&PG_textBox=&PG%5B%5D=S2-1113F&ID_textBox=&AGG_textBox=&CHA_textBox=&RO_textBox=&TECH_textBox=&TO_textBox=&RR_textBox=&CRITIC__textBox=&LE_textBox=&MODULE__textBox=&preselect=x&view=default&HistoryFilter=%25SH32%25&latestWorkWeek=2013_WW08&view=cuNoAjax&pageBreakOverview=70" nameOfPDF.pdf
请注意,网址在浏览器中运行正常 - 感谢所有
只需将%
替换为%%
,别无其他! (尝试了很多)。
谢谢大家的时间。
答案 0 :(得分:1)
请记住,在编写批处理脚本之前,它会完成所有那些疯狂的事情来设置路径。浏览到您想要到达的路径,修改路径中的start,或者只是简单地执行cd \ cd ..或者到达您需要的路径所需的任何内容。在内容之后暂停调试并查看正在进行的操作(可能会快速进行)。还可以使用回波来查看CMD窗口的内容。
请记住,您也可以执行cmd / c来运行命令。还要确保批处理文件和会话具有适当的管理凭据。如果需要,您可能必须在提升的用户模式下运行。
如果您告诉我们您的操作系统也在说什么,那么对我们帮助您将会很有帮助。
答案 1 :(得分:1)
在您列出的示例中,唯一需要做的是将百分比符号更改为双倍百分比。因此,您需要%5B%5D
而不是%%5B%%5D
。其他一切都以它应有的方式输出,不需要逃避。如果将百分比更改为双倍百分比对您来说是不切实际的,那么也许您可以对字符进行URL解码并使用它们的文字值而不是编码的等价物(例如[]
而不是%%5B%%5D
)。