我正在从批处理文件中调用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
答案 0 :(得分:1)
告诉PowerShell,它将处理-File
而不是-Command
。
powershell -NoProfile -File createshortcut.ps1 "Divertirsi con l'ortografia"
答案 1 :(得分:0)
要么使用单个反引号(`)对其进行转义:
powershell createshortcut.ps1 "Divertirsi con l`'ortografia"
或将双引号替换为简单的双引号并使用''
:
powershell createshortcut.ps1 'Divertirsi con l''ortografia'