我在制作复制文件的批处理文件时遇到问题。有时它说目录存在,有时它说它不能执行循环复制。
@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
发布于 2014-06-07 22:52:09
如果您尝试创建一个已经存在的目录,md
会告诉您。您可以使用以下命令来抑制它
md pictures 2>nul
带有xcopy
的参数/s
告诉计算机也复制子目录及其内容。所以你会复制一份...(称为循环复制)。要避免这种情况,请不要使用/s
或确保目标目录在您想要复制的目录树之外。
发布于 2014-06-07 22:53:45
这是另一种方法: xcopy自己创建文件夹,目标路径末尾的斜杠阻止它提示您。
“如果存在”文件夹\“处的斜杠用于检测本地驱动器上的文件夹,而不是文件。
Stephan's
answer告诉您如何避免循环复制错误。
@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
https://stackoverflow.com/questions/24097847
复制相似问题