批量复制指定目录下的文件,并统计执行时间
Posted backingstar
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批量复制指定目录下的文件,并统计执行时间相关的知识,希望对你有一定的参考价值。
该脚本用于将指定目录下的文件 复制到指定的目录,可指定复制的次数,并统计消耗的时间。 比如想要大批量制造很多文件。
遇到的问题是:如果for循环中,文件名有空格,则会报错:“找不到指定的文件”,那么可以在for循环中添加:"tokens=* delims=" ,并且复制的文件需要加引号,这样复制文件就没问题了。
for /f "tokens=* delims=" %%a in (‘dir /s/b "D: est1" ‘) do ( xcopy "%%a" "D: est" /e /c /y /h )
全部代码如下:
@echo off REM ############# REM 批量复制指定目录下的所有文件,并统计执行时间的脚本 REM 1输入源文件路径 REM 2输入目标路径 REM 3输入复制次数 REM 4确认输入信息 REM ############## echo *******批量复制文件脚本******** :again_input set /p sour=输入源文件路径: set /p dest=输入目标文件路径: set /p coun=输入复制次数: :again_yn set /p yn=是否确认输入信息 Y/N: if %yn% ==y goto cont_copy if %yn% ==Y goto cont_copy if %yn% ==n goto again_input if %yn% ==N goto again_input echo 输入错误,重新输入! goto again_yn :cont_copy echo *************** echo 正在创建文件,请稍等... echo *************** set firTime=%time% set /a done =1 :loop set /a left = %coun% - %done% echo 第%done%/%coun%次循环..... REM ****************创建复制文件循环体*********** set destpath=%dest%\%done% for /f "tokens=* delims=" %%a in (‘dir /s/b "%sour%" ‘) do ( if not exist %destpath% ( MD %destpath% ) xcopy "%%a" "%destpath%" /e /c /y /h ) REM ****************创建次数循环体*************** if %done%==%coun% goto loop_end set /a done = %done% +1 goto loop :loop_end set secTime=%time% echo *************** echo 创建完成... echo *************** SET /a fhr=%firTime:~0,2% SET /a fmi=%firTime:~3,2% SET /a fse=%firTime:~6,2% SET /a fms=%firTime:~9% SET /a shr=%secTime:~0,2% SET /a smi=%secTime:~3,2% SET /a sse=%secTime:~6,2% SET /a sms=%secTime:~9% set /a hours=%shr%-%fhr% set /a mins=%smi%-%fmi% set /a secs=%sse%-%fse% set /a ms=%sms%-%fms% if %ms% lss 0 set /a secs = %secs% - 1 & set /a ms = 100%ms% if %secs% lss 0 set /a mins = %mins% - 1 & set /a secs = 60%secs% if %mins% lss 0 set /a hours = %hours% - 1 & set /a mins = 60%mins% if %hours% lss 0 set /a hours = 24%hours% if 1%ms% lss 100 set ms=0%ms% echo ********************** echo 开始时间[%firTime%] echo 结束时间[%secTime%] echo 消耗时间[%hours%:%mins%:%secs%:%ms%] echo ********************** PAUSE
以上是关于批量复制指定目录下的文件,并统计执行时间的主要内容,如果未能解决你的问题,请参考以下文章