批处理问题求解答

有一批文件夹以a00001-a00100命名,它们的下面分别有a,b文件夹,现在要求将a,b文件夹的的内容分别复制到相应的a000**内,即将它们提一级。求解... 有一批文件夹以a00001-a00100命名,它们的下面分别有a,b文件夹,
现在要求将a,b文件夹的的内容分别复制到相应的a000**内,即将它们提一级。
求解
展开
 我来答
qop_dob
2014-11-02 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.3万
采纳率:79%
帮助的人:4074万
展开全部

把批处理文件跟a00001-a00100文件夹放在同一目录下

批处理代码如下

@echo off
for /f "tokens=*" %%d in ('dir /ad /b') do (
rem echo "%%d">>temp.txt
pushd "%%d"
xcopy /e /f /h "a" "..\%%d"
xcopy /e /f /h "b" "..\%%d"
popd
)
pause

刹那丁丁
2014-11-02 · 超过19用户采纳过TA的回答
知道答主
回答量:42
采纳率:100%
帮助的人:29.2万
展开全部
=======================================以下为代码部份不含此行。
@echo off
set "s=%~nx0"
for /f "delims=" %%i in ('dir /s/b/a-d') do (
if %%~nxi==%s% (@echo bat本身不执行移动) else (move "%%i" "%%~dpi./..")
)
for /f "tokens=*" %%a in ('dir /b /ad /s^|sort /r') do (rd "%%a" 2>nul)
echo 移动完成……
echo. & pause
======================================以上为代码部份不含此行。
说明:将本批处理程序放入a000*所在目录运行即可,移动后将删除a和b文件夹,若要保留ab文件夹,请删除此句:for /f "tokens=*" %%a in ('dir /b /ad /s^|sort /r') do (rd "%%a" 2>nul)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xq1850
2014-11-02 · TA获得超过3791个赞
知道大有可为答主
回答量:3155
采纳率:76%
帮助的人:1576万
展开全部

假设a0000**在D盘,试试下面的代码

@echo off
setlocal enabledelayedexpansion
for /f  %%a in ('dir/b d:\') do (
set pn=d:\%%a
for /r !pn! %%b in (*) do move %%b !pn!\
)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式