[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
自动拷贝某盘内文件到另一个盘,自动根据文件名归纳,文件名只有数字的根据文件夹名,没有文件夹的根据盘符命名。
自己可更改 格式,光盘,存盘参数,可以是不同文件夹。
支持多线程,可以用做文件归纳整理用,不仅仅是视频。
  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

返回列表