[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
没人回复?
  1. @echo off & setlocal EnableDelayedExpansion
  2. cd.>4.txt
  3. for /f "delims=" %%a in ('dir/a-d/b/s "e:\2"') do (
  4.     set /a total+=1
  5.     findstr /i /x /c:"%%~na" "1.txt">nul 2>nul&&(
  6.        set /a num+=1
  7.        set/p=复制 %%~nxa 到 [e:\3]目录<nul & (copy /y "%%a" "e:\3\">nul 2>nul && echo 成功 || echo 失败)
  8.        set/p=复制 %%~nxa 到 [d:\4]目录<nul & (copy /y "%%a" "d:\4\">nul 2>nul && echo 成功 || echo 失败)
  9.        echo %%~na [sound:_%%~na%%~xa]>>4.txt
  10.     ) || set /a number+=1)
  11. echo. & echo 总查找[%total%]条, 找到[%num%]条, 未找到[%number%]条。
  12. pause
复制代码
=============================================

TOP

回复 3# tanrr

文件夹嵌套太深,文件数量太多,文件容量又不大,十几万个小文件,就是用最简单的复制粘贴命令也不会很快。用批程式,总是要检索你的1.txt 和层层目录下的文件。偶是找不到更快的方法。就算以1.txt内的条目来检索目录也是花好多时间的。看VBS 和 powershell有没有好办法。
下面这个按 1.txt 内容依次查找 e:\2目录。偶用系统盘测试也不快。程式如下:
  1. @echo off & setlocal EnableDelayedExpansion
  2. cd/d "%~dp0"
  3. pushd "%~dp0"
  4. for /f "delims=" %%a in ('type 1.txt') do (
  5.    set "name="
  6.    set /a total+=1
  7.    for /f "delims=" %%e in ('dir/a-d/b/s "e:\2\%%a.*"') do (
  8.       pushd "%%~dpe"
  9.       if "%%~xe" neq "" if /i exist "%%~nxe" (
  10.         set /a num+=1
  11.         set "name=true"
  12.         echo 复制 %%~nxe  到 [e:\3] && copy /y "%%~nxe" "e:\3">nul 2>&1
  13.         echo 复制 %%~nxe  到 [d:\4] && copy /y "%%~nxe" "d:\4">nul 2>&1
  14.         echo %%~ne [sound:_%%~nxe]>>"%~dp04.txt")
  15.         popd
  16.         )
  17.    if not defined name set /a number+=1
  18.    )
  19. echo. & echo 总查找[%total%]条, 找到[%num%]条, 未找到[%number%]条。
  20. pause
复制代码
1

评分人数

TOP

返回列表