Batch file 如何将html作为参数传递给批处理程序? 我的目标/问题
以下批处理程序可用于显示我的问题:Batch file 如何将html作为参数传递给批处理程序? 我的目标/问题,batch-file,cmd,Batch File,Cmd,以下批处理程序可用于显示我的问题: echo first param: %1 third param: %3 echo '%2' 我的目标是为param2获得以下输出(我知道作为最后一个参数会更容易一些,但这不是需要的): 我想知道这是推荐的方法还是有更简单的方法。关于这个问题我读了很多书 引用和最多,但不幸的是两者都没有帮助。如前所述,只有双引号可以用于转义完整参数,但引号本身不能在参数内转义。 如果你仍然坚持在你的论点中使用双引号,双引号似乎是最好的解决方案之一 但是为了以安全的方式获取和
echo first param: %1 third param: %3
echo '%2'
我的目标是为param2获得以下输出(我知道作为最后一个参数会更容易一些,但这不是需要的):
我想知道这是推荐的方法还是有更简单的方法。关于这个问题我读了很多书
引用和最多,但不幸的是两者都没有帮助。如前所述,只有双引号可以用于转义完整参数,但引号本身不能在参数内转义。
如果你仍然坚持在你的论点中使用双引号,双引号似乎是最好的解决方案之一 但是为了以安全的方式获取和处理参数,您应该切换到延迟扩展,因为延迟扩展的内容不再被解析(与百分比扩展相反)
Windows命令处理器
cmd.exe
仅将“
解释为参数字符串分隔符,这是在命令提示窗口中运行cmd/?
时的帮助输出所解释的。无法使用反斜杠或任何其他字符将“
转义为参数字符串中的文字字符。然而,在所有版本的HTML规范中都明确规定,属性值可以使用“
或”
。因此,简单的解决方案是使用demo p1“MyText
”
,因为这是100%有效的HTML。当然也可以使用demo p1”MyText
“
并在批处理文件中使用设置“x=%~2”
和设置“x=%x:'=“%”
在样式
属性值周围传递HTML代码,并用“
在批处理文件中,尽管根据HTML规范不需要。感谢您的帮助,Mofi。我纠正了家庭问题,我认为你关于从“到”的建议从长远来看确实对我有帮助:)
'<body><p style="font-familiy:Arial,Cascadia">MyText</p></body>'
demo p1 "<body><p style=\"font-family:Arial,Cascadia\">MyText</p></body>" p3
demo p1 "<body><p style=""font-family:Arial,Cascadia"">MyText</p></body>" p3
set x=%2
echo '%x:""="%'
set "arg1=%~1"
set "arg2=%~2"
..
setlocal EnableDelayedExpansion
set "arg1=!arg1:""="!"
set "arg2=!arg2:""="!"
echo !arg1! !arg2!