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

[文件操作] 批处理如何复制目录下的文件夹及全部TXT文件到指定目录?

各位老师,请帮帮忙

需要将D:\ddr\???\下(保包子目录下)的全部txt文件复制到\\192.168.10.222\A33\,该如何实现呢?

???表示不明确目标文件夹

实现后结果为

\\192.168.1.222\A33\???\*.TXT(所有的txt文件全部保存到服务器上的???文件夹下面)

感谢各位老师,谢谢!!!!!

回复 3# alick


    如果有不同文件夹的同名txt则会直接覆盖掉
  1. @echo off & cd /d "%~dp0"
  2. REM 源目录和目标目录
  3. set "src_dir=F:\code"
  4. set "dest_dir=\\172.28.176.1\123"
  5. for /d %%i in ("%src_dir%\*") do (
  6. pushd "%%i"
  7. for /r %%a in (*.txt) do (
  8. for /f "delims=" %%b in ("%src_dir%") do (
  9. if not exist "%dest_dir%\%%~nxb" mkdir "%dest_dir%\%%~nxb"
  10. echo %%a
  11. echo %dest_dir%\%%~nxb\%%~nxa
  12. copy /y "%%a" "%dest_dir%\%%~nxb\%%~nxa"
  13. echo ---------------
  14. )
  15. )
  16. popd
  17. )
  18. pause&exit
复制代码

TOP

回复 2# went

老师,你好

不需要子目录结构,只需要第一层目录,然后下面就是TXT文件,可以实现吗?

TOP

本帖最后由 went 于 2022-4-15 20:41 编辑

test.bat
ansi编码,修改4-5行
  1. @echo off & cd /d "%~dp0"
  2. setlocal enabledelayedexpansion
  3. REM 源目录和目标目录
  4. set "src_dir=F:\code"
  5. set "dest_dir=\\172.28.176.1\123"
  6. for /d %%i in ("%src_dir%\*") do (
  7. pushd "%%i"
  8. for /r %%a in (*.txt) do (
  9. set "line=#%%a"
  10. for /f "delims=" %%b in ("!line:#%src_dir%=%dest_dir%!") do (
  11. mkdir "%%~dpb" 2>nul
  12. echo %%a
  13. echo %%b
  14. copy /y "%%a" "%%b"
  15. echo -------------
  16. )
  17. )
  18. popd
  19. )
  20. pause&exit
复制代码

TOP

返回列表