在你说什么之前,我做了一次搜索,找不到任何帮助我的东西,我自己也尝试了一些东西,而不是到目前为止工作的东西。
我不确定它是否与PowerShell或批次相关,说实话......无论如何......
我有以下脚本:
setlocal
if "%IsCollection%"=="y" set browsetext=Please choose the location where the
games for %GameTitle% are installed:
if not "%IsCollection%"=="y" set browsetext=Please choose the location where
%GameTitle% is installed:
set "psCommand="(new-object -COM 'Shell.Application')^
.BrowseForFolder(0,'%browsetext%',0x00000200,0).self.path""
for /f "usebackq delims=" %%I in (`powershell %psCommand%`) do set "choice=%%I"
我的问题是,当变量%GameTitle%包含单引号时,例如“Director's Cut”,它会阻止 browseforfolder 打开窗口,导致错误。
如何解决这个问题?
谢谢。
只需注意:如果重要,则从外部.ini文件中读取%GameTitle%变量。
答案 0 :(得分:0)
用两个代替单引号:
set GameTitle=%GameTitle:'=''%