我在制作复制文件的批处理文件时遇到问题。有时它表示目录存在,有时它表示它不能执行循环复制。
@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
答案 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