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

[文件操作] 求助批处理把部分文件夹拷贝到一个文件夹下

本帖最后由 yy5958437 于 2023-9-16 10:06 编辑

目前G盘A文件夹里有上百个文件,我需要找到 其中20多个文件夹(有文件夹名称),然后复制到B文件夹里面。   上面这个功能已经实现了,代码如下:   @echo off
for /f "delims=" %%i in (.\B.txt) do ( xcopy "%%i" "G:\620%%i\" /E /Y)            。但是现在遇到问题,因为G盘里面我有很多个文件,ABCDE。。。 然后ABCD里面也有abcd文件夹。有些要找的文件夹,我也不确定到底在那个文件夹里面。有没有办法检索整个盘,搜索到,然后复制出来呢。 求个大佬指点

已解决,谢谢各位大佬

  1. 'vbs
  2. b="文件夹b"
  3. a="保存了文件夹名的文本文件"
  4. set fso=createobject("scripting.filesystemobject")
  5. set shell=createobject("shell.application")
  6. set f=fso.opentextfile(a,1,false,-2)
  7. set d=shell.namespace(b)
  8. do
  9. c=f.readline
  10. d.copyhere(c)
  11. loop
复制代码

TOP

本帖最后由 77七 于 2023-6-21 01:28 编辑
  1. @echo off
  2. for /f "usebackq delims=" %%a in ("1.txt") do (
  3. robocopy "A\%%a" "B\%%a" /e
  4. )
  5. pause
复制代码

把文件夹名每行一个保存在1.txt中
bat小白,请多指教!谢谢!

TOP

本帖最后由 yy5958437 于 2023-7-11 14:14 编辑

回复 3# 77七


    大佬如果我要复制的源头是G盘,而不是G/A文件夹,要怎么弄呢 ,就是我要找的文件夹,可能在G盘A文件夹里面有几个,也可能在C文件夹里面有几个

TOP

回复 1# yy5958437


搜索单个文件夹名称

test-1-1.bat
  1. @echo off
  2. REM 备份到哪个目录下面
  3. set "ToFolder=C:\Test"
  4. REM 指定待搜索的文件夹名称
  5. set "FolderName=BatHome"
  6. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  7.     if exist %%a:\ (
  8.     echo 正在搜索%%a:\
  9.         for /f "delims=" %%b in ('dir /b /s /ad "%%a:\*%FolderName%" 2^>nul ^| findstr /v /i /b "%ToFolder%"') do (
  10.             if /i "%%~nxb" equ "%FolderName%" (
  11.                 xcopy /e "%%b" "%ToFolder%%%~pnxb\"
  12.             )
  13.         )
  14.     )
  15. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 1# yy5958437


搜索多个文件夹名称

test-2-1.bat
  1. @echo off
  2. REM 待查找的文件夹名称放在1.txt里面
  3. set "FolderList=1.txt"
  4. REM 备份到哪个目录下面
  5. set "ToFolder=C:\Test"
  6. cd /d "%~dp0"
  7. for /f "delims=" %%i in ('type "1.txt"') do (
  8.     call :ExecSearch "%%~nxi"
  9. )
  10. goto :eof
  11. :ExecSearch
  12. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  13.     if exist %%a:\ (
  14.     echo 正在搜索%%a:\下面的文件夹%~1
  15.         for /f "delims=" %%b in ('dir /b /s /ad "%%a:\*%~1" 2^>nul ^| findstr /v /i /b "%ToFolder%"') do (
  16.             if /i "%%~nxb" equ "%~1" (
  17.                 xcopy /e "%%b" "%ToFolder%%%~pnxb\"
  18.             )
  19.         )
  20.     )
  21. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 1# yy5958437


已经解决,谢谢各位大佬

TOP

返回列表