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
4

2 回答 2

5

Windows 使用反斜杠\作为文件夹分隔符,而不是正斜杠/。许多命令都可以使用正斜杠,但它并不可靠。

只需在顶部更改路径以使用反斜杠,一切都会正常。

您今天提出的问题很有趣,因为它与今天发布的另一个问题直接相关:为什么 Windows 上的 cmd.exe shell 使用正斜杠 ('/'') 路径分隔符的路径失败?

于 2012-05-10T04:04:07.843 回答
0

COPY 命令不是单参数命令,您需要源和目标。

顺便说一句,您应该只需要一个命令即可:

COPY %file% %endDir%\%newName%

对于将来的批次参考,请尝试此站点:http ://ss64.com/nt/copy.html

于 2012-05-10T04:41:47.117 回答