if 语句比较路径与 space AutoHotKey

if statement comparing path with a space AutoHotKey

由于 space 中的 space 我收到此错误:

Error: The following variable name contains an illegal character 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")

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

cd \用户

输入:

目录/x

并找到文件夹的 "short" 名称。大概是:

KOLA~1

将第一行替换为:

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

[或目录的 "short name" 是什么]

说明

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

如果它已经是一个 表达式 所以 A_ScriptDir 被替换为路径并且因为 % 它是 第二次评估,这当然不可能并抛出错误。

解决方案 (tl;dr)

删除第 1 行中的 %

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