我似乎陷入了批处理脚本,并希望得到一些帮助。
基本上我需要检查一个文件是否存在于%localappdata%
的文件夹中,如果它存在则会覆盖该文件,如果没有,则放在另一个位置,所以此时它的内容如下:
IF EXIST "%localappdata%\foldername\filename" COPY /Y "filename" "location" ELSE COPY "filename" "location2"
但是当这种情况发生时,我收到The syntax of the command is incorrect.
的错误。这似乎低于正在使用的%localappdata%
变量。
提前感谢您提供任何帮助。
答案 0 :(得分:6)
您需要将IF
分支的两个命令放在parens中:
IF EXIST "%localappdata%\foldername\filename" (COPY /Y "filename" "location") ELSE (COPY "filename" "location2")
原因是shell需要能够告诉您文件是否存在,您要运行的命令就是:
COPY /Y "filename" "location"
和不所有这些:
COPY /Y "filename" "location" ELSE COPY "filename" "location2"
如果您考虑一下,所有这些ELSE COPY
内容可能都是第一个COPY
的合法参数 - 除非您提供帮助,否则shell无法知道。