批处理 bat 求按规则批量复制文件夹到另外多个目录下的批处理程序

示意图如下,我希望把源地址的文件夹按一一对应的方式复制到目的地址下,例如红箭头所示,目的是将源地址中所有的名为1A的文件夹复制到目的地址二级目录1A文件夹中,不过仍然保持... 示意图如下,我希望把源地址的文件夹按一一对应的方式复制到目的地址下,例如红箭头所示,目的是将源地址中所有的名为1A的文件夹复制到目的地址二级目录1A文件夹中,不过仍然保持其与源地址中二级目录文件夹的隶属关系。不好意思有点绕,实际处理量比示意图大很多(75*62),还请各位大神帮着写个方便快捷的批处理程序,拜谢!!!
例如 D:\A\1A 这个文件夹复制到 E:\1A\A\ 下面,成为E:\1A\A\1A;
D:\B\1A 这个文件夹复制到 E:\1A\B\ 下面,成为E:\1A\B\1A
展开
 我来答
yyykkkyyyy
2014-02-13 · TA获得超过3136个赞
知道大有可为答主
回答量:2691
采纳率:40%
帮助的人:3303万
展开全部

不是很明确意思,如代码第二行示例可指定多个你所说的"第三级"(应该称第二级)需复制的文件夹名用空格分隔,文件夹名如含空格或&符得加引号 :

@echo off
set ds=1a "2&b" "3 c" 4e
cd/d d:\
for /f "delims=" %%a in ('dir/b/ad')do (
     cd "%%a"
     for %%b in (%ds%) do (
     if exist "%%~b\" xcopy /e/i/L %%b "e:\%%~b\%%a\%%~b")
     cd..)
pause
追问

谢谢回答,运行结果如图。但是复制没有成功...目的地址下(如 E:\1A\A)还是空的

追答
首先必须有权限操作,可能有特殊属性问题再改改参数--把xcopy那后面参数改为:
xcopy /e/i/f/h/r 其它不变
sudoku52
2014-02-14 · TA获得超过7万个赞
知道大有可为答主
回答量:1.2万
采纳率:82%
帮助的人:4898万
展开全部
@echo off
set sd=d:\
set dd=e:\
for /f "tokens=*" %%i in ('dir/b/ad %sd%') do (
for /f "tokens=*" %%j in ('dir/b/ad "%sd%%%i"') do (
if exist "%dd%%%j\%%i" echo xcopy "%sd%%%i\%%j" "%dd%%%j\%%i\%%j"/s/y))
pause

 上面的脚本只显示不复制,如果显示内容与你的期望一致的话把倒数第2行的echo去掉即可。

xcopy的参数根据自己的需要修改。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xxpinqz
2014-02-13 · TA获得超过1323个赞
知道小有建树答主
回答量:1055
采纳率:0%
帮助的人:1315万
展开全部
源文件夹来源交代清楚点,难道要整个d盘的最深目录全复制到e盘。
更多追问追答
追问
例如 D:\A\1A  这个文件夹复制到 E:\1A\A\ 下面,成为E:\1A\A\1A;
D:\B\1A 这个文件夹复制到 E:\1A\B\ 下面,成为E:\1A\B\1A
追答
我问你是不是要把整个d盘的文件夹都复制过去,我怎么知道你是否还有c,d,e,f文件夹
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ijyfe
2014-02-14 · TA获得超过3000个赞
知道小有建树答主
回答量:1243
采纳率:25%
帮助的人:480万
展开全部
@echo off
for %%i in (A B) do (
   for /f "delims=" %%a in ('dir /ad /b /s "d:\%%i"') do (
      if exist "e:\%%~nxa" (      
         xcopy /s /e "%%a" "e:\%%~nxa\%%~pa"
      )
   )
)
pause

 已经修改好,请测试!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式