1

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

@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

谢谢你们的帮助。山姆

4

1 回答 1

0

这是一种方法。当一切正常时,删除暂停、@echo on 和 @echo off(最后)。

@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
于 2013-02-24T19:19:49.837 回答