批处理脚本 - IF EXIST复制到%localappdata%错误

时间:2011-07-04 10:37:09

标签: windows batch-file

我似乎陷入了批处理脚本,并希望得到一些帮助。

基本上我需要检查一个文件是否存在于%localappdata%的文件夹中,如果它存在则会覆盖该文件,如果没有,则放在另一个位置,所以此时它的内容如下:

IF EXIST "%localappdata%\foldername\filename" COPY /Y "filename" "location" ELSE COPY "filename" "location2" 

但是当这种情况发生时,我收到The syntax of the command is incorrect.的错误。这似乎低于正在使用的%localappdata%变量。

提前感谢您提供任何帮助。

1 个答案:

答案 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无法知道。