转义如何进行以及此命令中转义了什么?

问题描述 投票:0回答:1

我已经盯着这个批处理脚本命令好几天了,试图弄清楚正在转义/传递/忽略的内容。

powershell -Command "Start-Process powershell \"-ExecutionPolicy Bypass -NoProfile -NoExit -Command `\"cd \`\"%scriptFolderPath%`\"; & \`\".\%powershellScriptFileName%\`\"`\"\" -Verb RunAs"

我尝试启动命令的各个部分来确定哪些部分被转义和通过,但不幸的是,我更加困惑了。希望比我聪明的人能够澄清我缺少的基本原理或概念。

我想澄清这些部分:

  1. 使用的第一个反斜杠的目的是什么?是因为单词
    powershell
    后面存在空格,还是为了转义双引号?
  2. 对于第二个
    -Command 
    实例,
    cd
    命令最终解析为什么?反引号是否转义了反斜杠?或者反引号 + 反斜杠组合是否转义了引号?
powershell batch-file escaping
1个回答
0
投票

使用的第一个反斜杠的目的是什么? powershell -Command "Start-Process powershell "-ExecutionPolicy Bypass -NoProfile -NoExit -Command

\"cd \
"%scriptFolderPath%
\"; & \
".%powershellScriptFileName%`"`"" -Verb RunAs"

© www.soinside.com 2019 - 2024. All rights reserved.