批量设置复制到 return 错误
Batch set copy to return error
我的 batch/cmd 脚本中使用了复制命令。复制完成时,复制的文件可能已存在于目标中。当这种情况发生时脚本挂起。在这种情况下,我不知道脚本失败了。是否可以强制复制到 return 而不是复制错误而不是等待回复?
没有看到你的代码,我的帮助是有限的,但这应该让你朝着正确的方向前进。
要查看复制是否出错,您可以使用:
If %errorlevel% = 0
如果 %errorlevel%
确实 = 0 则复制已成功完成,否则就是错误。
要查看文件是否存在,请使用:
IF EXIST [filename] [command]
希望对您有所帮助。
据我了解,您想复制文件而不覆盖
您可以使用复制命令的/-Y
开关来做到这一点(不会复制子目录中的文件):
@echo off
pushd "c:\my_dir"
for %%a in (*) do (
echo n|copy /-Y "%%~a" "C:\somewhere_else"
)
echo n|copy /-y
不能与通配符一起使用,您应该一个一个地迭代文件。请记住 /-Y
是强制性的。
当我 运行 test.bat 如果字段我想复制一些文件到特定位置
if errorlevel 0 ( if NOT EXIST c:\duplicatefile ( echo F | xcopy c:\fileyouwant s:\newnameifyouwant ) )
我的例子
start c:\test.bat
if errorlevel 0 ( if NOT EXIST c:\soheil.txt ( echo F | xcopy s:
\soheil.txt c:\soheil.txt ) )
我的 batch/cmd 脚本中使用了复制命令。复制完成时,复制的文件可能已存在于目标中。当这种情况发生时脚本挂起。在这种情况下,我不知道脚本失败了。是否可以强制复制到 return 而不是复制错误而不是等待回复?
没有看到你的代码,我的帮助是有限的,但这应该让你朝着正确的方向前进。
要查看复制是否出错,您可以使用:
If %errorlevel% = 0
如果 %errorlevel%
确实 = 0 则复制已成功完成,否则就是错误。
要查看文件是否存在,请使用:
IF EXIST [filename] [command]
希望对您有所帮助。
据我了解,您想复制文件而不覆盖
您可以使用复制命令的/-Y
开关来做到这一点(不会复制子目录中的文件):
@echo off
pushd "c:\my_dir"
for %%a in (*) do (
echo n|copy /-Y "%%~a" "C:\somewhere_else"
)
echo n|copy /-y
不能与通配符一起使用,您应该一个一个地迭代文件。请记住 /-Y
是强制性的。
当我 运行 test.bat 如果字段我想复制一些文件到特定位置
if errorlevel 0 ( if NOT EXIST c:\duplicatefile ( echo F | xcopy c:\fileyouwant s:\newnameifyouwant ) )
我的例子
start c:\test.bat
if errorlevel 0 ( if NOT EXIST c:\soheil.txt ( echo F | xcopy s:
\soheil.txt c:\soheil.txt ) )