if语句将路径与空格AutoHotKey进行比较

时间:2016-01-06 18:53:55

标签: 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 is done
    return
}
}

当我使用短名称时,我也会遇到同样的错误:

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

2 个答案:

答案 0 :(得分:2)

解释

您的问题不是字符串,而是变量%A_ScriptDir%

如果它已经是表达式,那么A_ScriptDir会被路径替换,并且由于%它被第二次评估,这当然不可能并抛出错误。

解决方案(tl; dr)

删除第1行中的%

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

答案 1 :(得分:0)

在不知道哪一行引发错误的情况下,我假设你说问题是由于目录名中的空格?如果是这样,请启动命令行(运行cmd.exe)并切换到users目录:

cd \ Users

输入:

dir / x

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

KOLA〜1

将第一行替换为:

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

[或该目录的“短名称”]