要复制的批处理命令,重命名然后移动全部失败

时间:2012-05-10 03:54:15

标签: batch-file

我的简单批处理文件中出现了一些错误。该文件用于将文件“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

2 个答案:

答案 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