找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 19347|回复: 4

30元求助.牛人闲的帮写个,第一个好用的人我必给!

  [复制链接]
发表于 2019-8-30 20:58:51 | 显示全部楼层 |阅读模式
要求:用CMD批处理提取当前文件夹下所有子文件夹内的指定名称的子文件按该文件所在的子文件夹名称命名并提取到当前文件夹下新建个汇总文件夹中,列如:当前文件夹下有十个子文件夹,分别是1、2、3、4、5、6、7、8、9、10,而在每个文件夹下有a.txt,b.txt.c.txt等等每多文件,而我在主文件夹下抽取所有子文件夹下a.txt文件与c.txt文件,并存到主文件夹下  汇总这个新文件夹中,1下的文件就是1a.txt与1b.txt ,如果没有的不取。这是一个角本。


另一个角本是:把以上取到的这个值再反回给各各文件夹中并覆盖重原文件名称,

是牛人来吧,
我vx: 198343
发表于 2019-8-30 21:09:25 | 显示全部楼层
本帖最后由 zaqmlp 于 2019-8-30 21:20 编辑

汇总
  1. @echo off
  2. set info=互助互利,支付宝扫码头像,感谢赞助
  3. rem 有问题,可加QQ956535081及时沟通
  4. title %info%
  5. cd /d "%~dp0"
  6. set "newfolder=汇总"
  7. if not exist "%newfolder%" md "%newfolder%"
  8. for /f "delims=" %%a in ('dir /ad/b') do (
  9.     if "%%~nxa" neq "%newfolder%" (
  10.         for %%b in ("a.txt" "c.txt") do (
  11.                 if exist "%%a\%%~b" (
  12.                     echo;"%%a\%%~b" --^> ".\%newfolder%\%%~nxa_%%~b"
  13.                     copy /y "%%a\%%~b" ".\%newfolder%\%%~nxa_%%~b"
  14.                 )
  15.         )
  16.     )
  17. )
  18. echo;%info%
  19. pause
复制代码
发表于 2019-8-30 21:13:50 | 显示全部楼层
本帖最后由 zaqmlp 于 2019-8-30 21:21 编辑

分离
  1. @echo off
  2. set info=互助互利,支付宝扫码头像,感谢赞助
  3. rem 有问题,可加QQ956535081及时沟通
  4. title %info%
  5. cd /d "%~dp0"
  6. set "newfolder=汇总"
  7. for /f "delims=" %%a in ('dir /a-d/b "%newfolder%"') do (
  8.     for /f "tokens=1* delims=_" %%b in ("%%a") do (
  9.         if exist ".\%%b" (
  10.             echo;"%newfolder%\%%a" --^> ".\%%b\%%c"
  11.             copy /y "%newfolder%\%%a" ".\%%b\%%c"
  12.         )
  13.     )
  14. )
  15. echo;%info%
  16. pause
复制代码
发表于 2019-8-30 21:56:02 | 显示全部楼层
汇总
  1. @echo off
  2. cd /d "%~dp0"
  3. set "dstdir=汇总"
  4. if not exist ".\%dstdir%" md ".\%dstdir%"
  5. for /f "delims=" %%A in ('dir /ad /b') do (
  6.     if /i not "%%A"=="%dstdir%" (
  7.         for %%B in ("a.txt" "c.txt") do (
  8.                 if exist ".\%%A\%%~B" (
  9.                     copy /y ".\%%A\%%~B" ".\%dstdir%\%%A%%~B"
  10.                 )
  11.         )
  12.     )
  13. )
  14. pause
  15. exit /b
复制代码
复原
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. cd /d "%~dp0"
  4. set "srcdir=汇总"
  5. if not exist ".\%srcdir%" md ".\%srcdir%"
  6. for /f "delims=" %%A in ('dir /a-d /b ".\%srcdir%\*a.txt" ".\%srcdir%\*c.txt"') do (
  7.     set "fname=%%A"
  8.     set "dstdir=!fname:~,-5!"
  9.     set "fname=!fname:~-5!"
  10.     if not exist ".\!dstdir!" md ".\!dstdir!"
  11.     copy /y ".\%srcdir%\%%A" ".\!dstdir!\!fname!"
  12. )
  13. endlocal
  14. pause
  15. exit /b
复制代码
 楼主| 发表于 2019-8-30 22:45:20 | 显示全部楼层
回复 2# zaqmlp


    汇总分离都没问题。钱已付
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 02:54 , Processed in 0.018246 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表