批处理 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 展开
例如 D:\A\1A 这个文件夹复制到 E:\1A\A\ 下面,成为E:\1A\A\1A;
D:\B\1A 这个文件夹复制到 E:\1A\B\ 下面,成为E:\1A\B\1A 展开
4个回答
展开全部
不是很明确意思,如代码第二行示例可指定多个你所说的"第三级"(应该称第二级)需复制的文件夹名用空格分隔,文件夹名如含空格或&符得加引号 :
@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
追答
首先必须有权限操作,可能有特殊属性问题再改改参数--把xcopy那后面参数改为:
xcopy /e/i/f/h/r 其它不变
展开全部
@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的参数根据自己的需要修改。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
源文件夹来源交代清楚点,难道要整个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文件夹
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
@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
已经修改好,请测试!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询