如果被复制的文件较多,就保存到一个文本文件(如LIST.txt)中,一个文件名占一行,(如果文件较少,就直接写到批处理 里面。)
先判断每一个文件是否存在,如果有任意一个文件不存在,就不复制,退出。如果全部存在,就复制:
@echo off
for /f "delims=" %%a in (LIST.txt) do (if not exist "%%a" echo 找不到文件 "%%a".... & echo. & goto END)
md c:\aaa
for /f "delims=" %%a in (LIST.txt) do copy "%%a" c:\aaa
:END
pause
如果不需判断全部文件是否存在,先复制,遇到有文件不存在才退出,就需要稍稍修改一下。
@echo off
for /f "delims=" %%a in (LIST.txt) do (
if not exist "%%a" echo 找不到文件 "%%a".... & echo. & goto END
copy "%%a" c:\aaa)
:END
pause
追问大哥,你给我讲解一下。
这个是复制的代码
@copy 软件\目录 指定目录\
上面是复制文件夹下的所有文件,里面有很多文件,什么格式的也有。一个一个的判断是不是太麻烦了?
追答“@copy 软件\目录 指定目录\” 这个是复制所有文件,那么你说的“如有一个文件不存在将会终止BAT的操作”是怎么回事?
追问说的也是,我糊涂了。。
谢谢你了啊,大哥。