Batch file 我在传递%1参数时遇到问题,并且=&引用;签名
我刚刚编写了一个Batch file 我在传递%1参数时遇到问题,并且=&引用;签名,batch-file,Batch File,我刚刚编写了一个yt.bat文件,其中包含以下内容: echo %1 我这样称呼它: yt https://www.youtube.com/watch?v=V_yXqFA-Fxs 但它只反映了这一点: https://www.youtube.com/watch?v 它将整个参数视为一个字符串 这将整个参数视为一个字符串。您可能需要实际调用它,但您的问题是它应该是yt”https://www.youtube.com/watch?v=V_yXqFA-Fxs“,然后在yt.bat中,如果不需要周
yt.bat
文件,其中包含以下内容:
echo %1
我这样称呼它:
yt https://www.youtube.com/watch?v=V_yXqFA-Fxs
但它只反映了这一点:
https://www.youtube.com/watch?v
它将整个参数视为一个字符串
这将整个参数视为一个字符串。您可能需要实际调用它,但您的问题是它应该是
yt”https://www.youtube.com/watch?v=V_yXqFA-Fxs“
,然后在yt.bat
中,如果不需要周围的双引号,可以使用%~1
而不是%1
。Cmd将=
字符视为分隔符,这也可以通过使用插入符号(即yt)转义该字符来解决https://www.youtube.com/watch?v^=V_yXqFA-Fxs
,但我当然不建议过度使用双引号。这非常不方便,youtube dl无需转义即可工作。我需要编写一个简单的python脚本吗?使用%*
而不是%1
——它将整个参数作为字符串。@woopwoop399打开命令提示窗口,运行cmd/?
并阅读输出帮助,特别是最后一个帮助页面上的最后一段,解释了包含空格或其中一个字符的参数字符串&()[]{}^=;!'+`~代码>需要周围的引号。在本例中,cmd.exe
将双引号参数字符串外的等号解释为参数分隔符,如普通空格、水平制表符、,逗号或OEM编码的无换行符,也被cmd.exe
解释为参数分隔符,双引号参数字符串除外。您可能需要实际调用它,但问题是它应该是yt“https://www.youtube.com/watch?v=V_yXqFA-Fxs“
,然后在yt.bat
中,如果不需要周围的双引号,可以使用%~1
而不是%1
。Cmd将=
字符视为分隔符,这也可以通过使用插入符号(即yt)转义该字符来解决https://www.youtube.com/watch?v^=V_yXqFA-Fxs
,但我当然不建议过度使用双引号。这非常不方便,youtube dl无需转义即可工作。我需要编写一个简单的python脚本吗?使用%*
而不是%1
——它将整个参数作为字符串。@woopwoop399打开命令提示窗口,运行cmd/?
并阅读输出帮助,特别是最后一个帮助页面上的最后一段,解释了包含空格或其中一个字符的参数字符串&()[]{}^=;!'+`~代码>需要周围的引号。在您的例子中,cmd.exe
将双引号参数字符串外的等号解释为参数分隔符,如普通空格、水平制表符、逗号或OEM编码的无中断空格,它们也被cmd.exe
解释为参数分隔符,双引号参数字符串内除外。
echo %*