1

它很简单 - 我想从上到下一个接一个地执行一个命令。

这可能听起来很疯狂,但我想使用很多参数,例如

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

请注意,网址在浏览器中工作正常 - 到目前为止感谢所有人

在 rojo 的评论中找到答案:

只需替换%为即可%%!(尝试了更多)。

谢谢大家的时间。

4

2 回答 2

1

请记住,在您编写批处理脚本之前,该脚本会执行所有疯狂的操作来设置您的路径。浏览到您想要到达的路径,修改路径中的开始,或者只是简单地执行 cd\ cd.. 或任何需要到达您需要的路径的方法。在要调试的内容之后暂停一下,看看发生了什么(可能会很快)。还可以使用您的回声来查看 CMD 窗口的内容。

请记住,您还可以执行 cmd /c 来运行命令。还要确保您的批处理文件和会话具有适当的管理凭据。如果需要,您可能必须在提升的用户模式下运行。

如果您也告诉我们您的操作系统在说什么,这将有助于我们为您提供帮助。

于 2013-02-27T16:03:02.783 回答
1

在您列出的示例中,唯一需要做的就是将百分比符号更改为双百分比。所以代替%5B%5D你需要%%5B%%5D. 其他一切都以应有的方式输出,无需转义。如果将百分比更改为双百分比对您来说不切实际,那么也许您可以对字符进行 URL 解码并使用它们的文字值而不是编码的等价物(例如[],而不是%%5B%%5D)。

于 2013-03-04T11:53:18.773 回答