标题: [文件操作] 批处理如何实现根据输入的数字将指定文件夹备份成多个? [打印本页]
作者: yanhcl 时间: 2018-4-19 21:34 标题: 批处理如何实现根据输入的数字将指定文件夹备份成多个?
各位大神求助一个批处理的多份拷贝的难题,谢谢
当前目录c:\test
目录里 disk文件夹 和 1.bat 2个文件,1.bat用来放批处理代码。
目标目录d:\fox
要实现功能:运行1.bat实现,让你输入备份次数,如果输入2,就将 c:\test\disk整个文件夹及里面内容备份拷贝到d:\fox下2个,备后的文件名按disk01\ disk02 ,如果再按1.bat拷贝备份文件夹名按03、04、05...不重复
作者: yhcfsr 时间: 2018-4-20 11:24
本帖最后由 yhcfsr 于 2018-4-20 11:25 编辑
须知:代码第一行是总共备份的次数。在你第一次运行前:如果目标目录没有备份,设置为0;反之有N个备份就设置为N,新的备份命名为diskN+1
这是首次运行的设置,以后无需设置。- @set total_times=0
- @echo off
- set "SrcDir=d:\test\BBC"
- set "desDir=d:\test1"
- set/p "times=input copy times:"
- for /f "delims=" %%a in ("%SrcDir%") do set "name=%%~nxa"
- for /l %%a in (1,1 %times%) do (
- set/a total_times+=1&setlocal enabledelayedexpansion
- if !total_times! lss 10 ( xcopy "%SrcDir%" "%desDir%\%name%0!total_times!" /I /E /Y ) else (
- xcopy "%SrcDir%" "%desDir%\%name%!total_times!" /I /E /Y)
- endlocal
- )
- rem 记录总共运行次数到BAT文件
- (for /f "delims=" %%a in ('type "%0"') do if not defined first (
- echo;@set total_times=%total_times%&set first=1) else (echo;%%a))>"tp"
- move /y "tp" "%0">nul
- pause&exit
复制代码
作者: yanhcl 时间: 2018-4-20 18:19
回复 2# yhcfsr
@set total_times=0
@echo off
set "SrcDir=%cd%\1"
set "desDir=c:\Backup5"
if exist c:\backup5 (
echo "已经存在文件夹"
)
else (
md c:\backup5
)
set/p "times=Please enter the number of create copies:"
for /f "delims=" %%a in ("%SrcDir%") do set "name=%%~nxa"
for /l %%a in (1,1 %times%) do (
set/a total_times+=1&setlocal enabledelayedexpansion
if !total_times! lss 10 ( xcopy "%SrcDir%" "%desDir%\%name%0!total_times!" /I /E
/Y ) else (
xcopy "%SrcDir%" "%desDir%\%name%!total_times!" /I /E /Y)
endlocal
)
rem 记录总共运行次数到BAT文件
(for /f "delims=" %%a in ('type "%0"') do if not defined first (
echo;@set total_times=%total_times%&set first=1) else (echo;%%a))>"tp"
move /y "tp" "%0">nul
if not exist
pause
我加了一个目录判断但总提示有错误麻烦高手帮忙看一下
作者: yhcfsr 时间: 2018-4-20 18:28
本帖最后由 yhcfsr 于 2018-4-20 18:32 编辑
回复 3# yanhcl
将你的代码贴到代码框中,这样乱七八糟,怎么看?
而且,有错误就要把图或错误信息发出来。
再且,有必要加个判断吗?不存在目标目录,会自动创建的。你就判断源目录的存在吧,如果不存在源目录就exit
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |