If statement if语句将路径与空格自动热键进行比较
由于空间中的空间,我得到以下错误: 错误:以下变量名包含非法字符 C:\Users\Ko La\Desktop 我如何解决这个问题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
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”)我得到了相同的错误