If statement if语句将路径与空格自动热键进行比较

If statement if语句将路径与空格自动热键进行比较,if-statement,autohotkey,If Statement,Autohotkey,由于空间中的空间,我得到以下错误: 错误:以下变量名包含非法字符 C:\Users\Ko La\Desktop 我如何解决这个问题 if (%A_ScriptDir%="C:\Users\Ko La\Desktop") return else{ MsgBox, 4, , Do you want to rename the files in %A_ScriptDir%? (Press YES or NO) IfMsgBox No return else{ MsgBox Rename

由于空间中的空间,我得到以下错误:

错误:以下变量名包含非法字符 C:\Users\Ko La\Desktop

我如何解决这个问题

if (%A_ScriptDir%="C:\Users\Ko La\Desktop")
return
else{
MsgBox, 4, , Do you want to rename the files in %A_ScriptDir%? (Press YES or NO)
IfMsgBox No
    return
else{
    MsgBox Rename is done
    return
}
}
我在使用短名称时也会遇到相同的错误:

if (%A_ScriptDir%="C:\Users\KOLA~1\Desktop")

在不知道哪一行抛出错误的情况下,我假设您是说问题是由于目录名中的空格造成的?如果是这样,请启动命令行(运行cmd.exe)并更改为用户目录:

cd\用户

输入:

目录/x

并找到文件夹的“短”名称。可能是:

科拉~1

将第一行替换为:

如果(%A_ScriptDir%=“C:\Users\KOLA~1\Desktop”)

[或目录的“短名称”是什么]

说明 您的问题不是字符串,而是变量
%A\u ScriptDir%

在if中,它已经是一个表达式,因此
a_ScriptDir
被替换为路径,并且由于
%
它被第二次计算,这当然是不可能的,并抛出错误

解决方案(tl;dr) 删除第1行中的
%

if (A_ScriptDir="C:\Users\Ko La\Desktop")

哪一行抛出了错误?很抱歉,我已编辑了我的问题。谢谢@alfreema,我尝试使用短名称,但如果(%A\u ScriptDir%=“\Users\KOLA~1\Desktop”)我得到了相同的错误