我似乎被批处理脚本困住了,需要一些帮助。
基本上我需要检查文件是否存在于 %localappdata%
的文件夹中,如果存在则覆盖该文件,如果不存在则放置在不同的位置,所以目前它看起来像这个:
IF EXIST "%localappdata%\foldername\filename" COPY /Y "filename" "location" ELSE COPY "filename" "location2"
但是,当它运行时,我收到了一个错误信息:The syntax of the command is incorrect.
这似乎是由于使用了 %localappdata%
变量。
预先感谢您对此提供的任何帮助。
最佳答案
您需要将 IF
分支的两个命令放在括号中:
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 无法知道.
关于windows - 批处理脚本 - 如果存在复制到 %localappdata% 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6570313/