我的简单批处理文件中出现了一些错误。该文件用于将文件“xyz.4do”复制到同一目录,然后将复制的文件重命名为“abc.4do”,最后将复制/重命名的文件移动到另一个文件夹。
我的代码如下,我已评论错误发生的位置:
@ECHO off
CLS
SETLOCAL
SET file=C:/users/xyz/desktop/xyz.4do
SET newName=abc.4do
SET endDir=C:/users/abc/desktop
REM Error occurs on below line: "The system cannot find the file specified" but the file exists
COPY %file%
REM Error below: "The syntax of the command is incorrect"
REN %file% %newName%
REM Error occurs on below line: "The system cannot find the file specified"
MOVE %newName% %endDir%
ECHO.
PAUSE
ENDLOCAL
答案 0 :(得分:5)
Windows使用反斜杠\
作为文件夹分隔符,而不是正斜杠/
。许多命令与正斜杠一起工作,但它不可靠。
只需更改顶部的路径即可使用反斜杠,一切都应该有效。
有趣的是,您今天提出了问题,因为它与今天发布的其他问题直接相关:Why does the cmd.exe shell on Windows fail with paths using a forward-slash ('/'') path separator?
答案 1 :(得分:0)
COPY命令不是单参数命令,您需要源和目的地。
顺便说一句,您应该只使用一个命令:
COPY %file% %endDir%\%newName%
对于将来的批量参考,请尝试以下网站:http://ss64.com/nt/copy.html