Batch file 创建一个批来解析文本文件,找到一个文件夹并复制它和它的树

Batch file 创建一个批来解析文本文件,找到一个文件夹并复制它和它的树,batch-file,Batch File,我很难让它起作用。 这是我的批处理文件,只是为了测试我放了一个内部集。 我想解析一个包含文件夹名称列表的文本文件,找到该文件夹并仅复制文件夹及其内容和树 @echo off setlocal set str=SMX47 for /f "delims=" %%a in ('dir /b /s /o-d /ad') do if "%%~na" == "%str%" copy "%%a" "C:\Test\testcopy" 它查找名为SMX47的文件夹,并仅在文件夹testcopy中复制其内容。

我很难让它起作用。 这是我的批处理文件,只是为了测试我放了一个内部集。 我想解析一个包含文件夹名称列表的文本文件,找到该文件夹并仅复制文件夹及其内容和树

@echo off
setlocal
set str=SMX47
for /f "delims=" %%a in ('dir /b /s /o-d /ad') do if "%%~na" == "%str%" copy "%%a" "C:\Test\testcopy"
它查找名为
SMX47
的文件夹,并仅在文件夹
testcopy
中复制其内容。 我想得到:

\GP\GV\SMX47\
(即树)和文件夹的内容
SMX47

谢谢你们的帮助。
萨姆,这里有一个方法。当一切正常时,取消暂停、@echo打开和@echo关闭(结束)

@echo off
set str=SMX47
for /f "delims=" %%a in ('dir /b /s /o-d /ad') do (
   if "%%~na" == "%str%" (
      call :CopyFolderStructure "%%a"
      )
   )
pause
goto :eof

:CopyFolderStructure
set FolderStructure=%~1
call set FolderStructure=%%FolderStructure:%cd%=%%
@echo on
xcopy /i /y "%~1\*.*" "C:\Test\testcopy%FolderStructure%\"
@echo off
goto :eof

感谢RGuggisberg的帮助,做得很好,但在使用映射驱动器进行尝试时,我遇到了“无效路径错误”,因为它试图复制C:\Temp\Z:\data\…@echo off for/f“tokens=*”(list_pn.txt)中的%%b do(对于/f“delims=”%a in('dir/b/s/o-d/ad“Z:\data”'))do(如果“%~na”=”%b)(调用:CopyFolderStructure“%%a”))转到:eof:CopyFolderStructure集合FolderStructure=%~1调用集合FolderStructure=%%FolderStructure:%cd%=%%xcopy/I/Y/Q“%%~1**”“C:\Temp%FolderStructure%\”转到:eof