批处理文件复制问题

时间:2014-06-07 13:44:23

标签: batch-file file-io

我在制作复制文件的批处理文件时遇到问题。有时它表示目录存在,有时它表示它不能执行循环复制。

@ECHO off

ECHO Please use quotes with directories

ECHO.



IF NOT EXIST Pictures (MD Pictures) > NUL



:start

SET /P From=Copy from:

IF NOT EXIST %From% (ECHO No such directory

                     ECHO.

                     goto start)

XCOPY /s %From% Pictures

pause

2 个答案:

答案 0 :(得分:0)

如果您尝试创建已存在的目录,md会告诉您。你可以用

来压制它
md pictures 2>nul

/s的参数xcopy告诉计算机复制子目录及其内容。因此,您可以制作副本副本的副本....(称为循环副本)。为避免这种情况,请不要使用/s或确保目标目录位于目录树之外,并且要复制。

答案 1 :(得分:0)

这是另一种方法:xcopy自己创建文件夹,目标路径末尾的斜杠阻止它提示你。

if exists下的斜杠“文件夹”用于检测本地驱动器上的文件夹,而不是文件。

Stephan's回答告诉您如何避免循环复制错误。

@ECHO off
ECHO Please use quotes with directories
ECHO.
:start
SET /P From=Copy from:

IF exist "%From%\" (
      XCOPY /s %From% "Pictures\" 
) else (
      ECHO No such directory
      ECHO.
      goto start
)
pause