从CMD执行带嵌套引号的PowerShell命令创建ImDisk内存盘
修正后的CMD命令
以下是可直接执行的单条CMD命令,已解决引号转义问题:
powershell -Command "Start-Process powershell -Verb RunAs -ArgumentList '-ExecutionPolicy Bypass -NoExit -Command ''imdisk -a -s 16G -m X:\ -p "/fs:ntfs /q /y"'''"
关键修正说明
- 在CMD环境中,PowerShell的
-Command参数内部的单引号需用两个单引号''转义,以此避免和外层双引号冲突。 - 保留
-NoExit参数方便查看执行结果,若不需要保留窗口可直接移除。 - ImDisk的
-p参数内的双引号无需额外转义,因为已被外层单引号包裹,PowerShell会将其作为字面量传递给ImDisk。
另一种等价写法(用反斜杠转义双引号):
powershell -Command "Start-Process powershell -Verb RunAs -ArgumentList \"-ExecutionPolicy Bypass -NoExit -Command `\"imdisk -a -s 16G -m X:\ -p `/\"fs:ntfs /q /y`/\"`\"\""
不过第一种单引号转义的写法更简洁易读。
内容的提问来源于stack exchange,提问作者RJohan
相关产品推荐
相关产品推荐

