Dev*_*vWL 0 escaping batch-file call
这是我的第一个批处理脚本.我试图逃避%char,因此不用作变量.Double %%在使用start时有效,但是当我使用%% with call时,它输入空的空格和函数缺少参数.
有没有办法在使用呼叫时逃避%?
call wp rewrite structure %%postname%% << FAILED
start wp rewrite structure %%postname%% << OK
Run Code Online (Sandbox Code Playgroud)
我只是想知道为什么同样的声明"开始"按预期工作,"呼叫"缺少一个参数.两者都使用额外的%char来逃避百分号.
我认为你的"确定"行是正常的,因为你想要文字%postname%,并且你认识到必须通过在批处理文件中加倍来转义百分比文字.
如果不将百分比加倍,则将%postname%其扩展为环境变量postname的值(如果未定义,则为空字符串).
CALL导致百分比被评估两次.第一轮百分比扩张转化%%postname%%为%postname%.这就是你想要的.但是,然后由CALL启动的第二轮导致%postname%扩展到变量值.
解决方案很简单,第二次增加一倍:
call wp rewrite structure %%%%postname%%%%
Run Code Online (Sandbox Code Playgroud)