创建一个批处理解析文本文件,找到一个文件夹并复制它和它的树
问题描述:
我很难试图使它工作。 这是我的批处理文件,只是为了测试我已经把一个内部设置。 我想解析文件夹名称列表中的文本文件,找到该文件夹并仅复制文件夹及其内容及其树。创建一个批处理解析文本文件,找到一个文件夹并复制它和它的树
@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\
(so树)和文件夹内容SMX47
。
感谢您的帮助球员。 Sam
答
这里有一种方法可以做到这一点。当你完成所有工作时,关闭@echo on和@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 \ ..... – 2013-02-25 01:55:50
@echo off for/f“tokens = *”%% b in(list_pn.txt)do( for/f“delims =”%% a in('dir/b/S/OD /广告 “Z:\数据”')做( \t如果 “%%〜な” == “%% b”( \t \t呼叫:CopyFolderStructure “%%一个” \t \t) \t) ) 转到:EOF :CopyFolderStructure 组FolderStructure =%〜1个 呼叫组FolderStructure = %% FolderStructure:%CD(%)= %% XCOPY/I/Y/Q “%〜1 \ *。*”“C :\ Temp%FolderStructure%\“ goto:eof – 2013-02-25 01:59:57