带有单引号的 Powershell 命令行参数将破坏命令行
2018-10-04
298
我正在从批处理文件调用 powershell 脚本
powershell createshortcut.ps1 "%~n0"
但是如果参数有一个单引号(扩展示例)
powershell createshortcut.ps1 "Divertirsi con l'ortografia"
解析器将抛出错误
The string is missing the terminator: '.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : TerminatorExpectedAtEndOfString
显然参数的内容是未知的。
Powershell 版本:
Major Minor Build Revision
----- ----- ----- --------
5 1 14393 2189
2个回答
告诉 PowerShell 它将处理
-File
而不是
-Command
。
powershell -NoProfile -File createshortcut.ps1 "Divertirsi con l'ortografia"
lit
2018-10-04
使用单个反引号 (`) 进行转义:
powershell createshortcut.ps1 "Divertirsi con l`'ortografia"
或者用简单双引号替换双引号并使用
''
:
powershell createshortcut.ps1 'Divertirsi con l''ortografia'
Akaizoku
2018-10-04