批处理命令复制、重命名和移动所有文件失败

3

我在我的简单批处理文件中遇到了一些错误。该文件的目的是将文件“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个回答

5

但是将斜杠改为反斜杠并不能解决问题。它仍然显示无法找到第一个复制命令的文件。此外,应该注意批处理文件正在不同于xyz.4do所在目录中执行。 - sazr

0

COPY 命令不是一个单参数命令,您需要同时指定源和目标。

顺便说一下,您应该能够只使用一个命令来完成此操作:

COPY %file% %endDir%\%newName%

为了将来的批处理参考,请尝试访问此网站:http://ss64.com/nt/copy.html


1
绝对错误的声明。目标参数是可选的 - 默认为当前文件夹。微软的文档清楚地显示目标参数是可选的,用方括号括起来。 - dbenham
@dbenham 哎呀!看来我已经太久没用批处理了。 - Riking

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接