[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理怎样逐个复制延迟一段时间再复制下一个文件?

光盘中的文件,逐个复制到指定目录(一个文件一个文件复制比同时复制多个文件速度快很多)
但是手动去一个一个去拖又很繁琐。
有没有批处理 逐个复制,延迟一段时间,再复制下一个文件?

比如光盘盘符  F:\    里有    七龙珠01.rm    七龙珠02.rm  七龙珠03.rm .........七龙珠40.rm
想逐个复制到 本地盘符   E:\七龙珠  里。
先复制 七龙珠01.rm     延迟  35秒,自动复制  七龙珠02.rm 。。。。。。。。
复制41时,错误,自动结束。




回2楼,4楼。我弄延迟是因为不清楚批处理有没有办法复制完成 第一个文件后再去 复制 第二文件的功能。
文件的大小相差不大,在10M + - 而已。所以每个文件的复制时间都差不多,所以我才说,延迟 指定时间,再进行下一步。

[ 本帖最后由 h168855858 于 2011-3-14 00:20 编辑 ]
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
不知道自己喜欢谁不知道自己喜欢什么,这才是最郁闷的

为什么要延迟复制,一个一个来就不行了?
  1. @echo off
  2. if not exist d:\七龙珠 md d:\七龙珠
  3. for /r f:\ %%a in (七龙珠*) do copy /y "%%a" d:\七龙珠\
复制代码
1

评分人数

***共同提高***

TOP

比如光盘盘符  F:\    里有    七龙珠01.rm    七龙珠02.rm  七龙珠03.rm .........七龙珠40.rm
想逐个复制到 本地盘符   E:\七龙珠  里。
先复制 七龙珠01.rm     延迟  35秒,自动复制  七龙珠02.rm
  1. md E:\七龙珠 2>nul
  2. for /r "f:\" %%i in (七龙珠*.rm) do (copy "%%i" e:\七龙珠
  3. ping 127.1 /n 35   >nul
  4. )
复制代码

TOP

既然求效率,又干嘛要延迟?
楼主好像没说要遍历F盘,那我就理解成全在根目录下了
copy /y f:\七龙珠*.rm e:\

TOP

自动拷贝某盘内文件到另一个盘,自动根据文件名归纳,文件名只有数字的根据文件夹名,没有文件夹的根据盘符命名。
自己可更改 格式,光盘,存盘参数,可以是不同文件夹。
支持多线程,可以用做文件归纳整理用,不仅仅是视频。
  1. @echo off&setlocal enabledelayedexpansion
  2. set 格式=*.rm *.rmvb *.mpg
  3. set "光盘=f:\"
  4. set "存盘=e:\"
  5. set "多进程数目=5"
  6. :st
  7. pushd "!光盘!" ||(msg * /w 请插入光盘再点我继续!&goto :st)
  8. for /f "delims=" %%i in ('dir /s /b !格式!') do (
  9.         set "name=%%~ni"
  10.         for %%j in (0 1 2 3 4 5 6 7 8 9 () [] 【】) do set "name=!name:%%j=!"
  11.         if "!name!"=="" (
  12.               if "%%~pi"=="\" (
  13.                   for /f "tokens=2 delims=卷是 " %%v in ('vol') do (
  14.                       if "!name!"=="" set "name=%%v"
  15.                   )
  16.                   if not "!name:没有=!"=="!name!" set "name=未知电影!RANDOM!"
  17.               )
  18.               set "str=%%~pi"
  19.               set "str=!str:~0,-1!"
  20.               for /l %%k in (1,1,32) do (
  21.                   if "!name!"=="" (
  22.                       if "!str:~-%%k,1!"=="\" (
  23.                           set str=!str:~-%%k!
  24.                           set "name=!str:~1!"
  25.                       )
  26.                   )
  27.               )
  28.         )
  29.        if not exist "e:\!name!" md "!存盘!!name!"
  30.        echo 正在拷贝"%%i" ---^> "!存盘!!name!\%%~nxi"
  31.        set /a ps=0
  32.        for /f %%p in ('tasklist /fi "IMAGENAME eq cmd.exe" ^|findstr /n "[0-9]"') do set /a ps+=1
  33.        if !ps! lss !多进程数目! (
  34.             start /b copy /y "%%i" "!存盘!!name!\%%~nxi">nul
  35.        ) else (
  36.             copy /y "%%i" "!存盘!!name!\%%~nxi">nul
  37.        )
  38. )
复制代码

[ 本帖最后由 caruko 于 2011-3-14 17:58 编辑 ]

TOP

返回列表