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")
由于 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")