批处理代码,整理文件夹,移动文件夹到另一个文件夹下

hi,我还在纠结学习批处理代码中。我有这样一些文件夹如:"A1","A1_201301","A2","TB","TB_201302",怎么用批处理,让A1_201301和... hi, 我还在纠结学习批处理代码中。我有这样一些文件夹如:"A1","A1_201301","A2","TB","TB_201302",怎么用批处理,让A1_201301和TB_201302文件移到A1和TB文件夹下?
就是说将带有"_"的文件夹移动到"_"第一段字符的文件夹内。
展开
 我来答
夕阳西下Ysky
2013-02-25 · TA获得超过407个赞
知道小有建树答主
回答量:401
采纳率:71%
帮助的人:166万
展开全部
move A1_201301 A1\
move TB_201302 TB\
追问
没那么简单哦,我有多少个带下划线的文件名并不固定,还有很多。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yyykkkyyyy
2013-02-25 · TA获得超过3136个赞
知道大有可为答主
回答量:2691
采纳率:40%
帮助的人:3312万
展开全部
纠结? 这个批处理虽不算很复杂 ,但也是多个命令的综合运用
@echo off
for /f "tokens=1* delims=_" %%i in ('dir/b/ad *_*')do (
if not exist "%%i" md "%%i"
move "%%i_%%j" "%%i"
echo %%i_%%j =^> %%i)
pause
追问
使用成功。非常感谢。
'dir/b/ad *_* --是什么意思呢?特别是/b/ad
move "%%i_%%j" "%%i"-- 这里的%%j 是什么意思呢?前面也没有赋值给j呀。
请教哦。:)
追答
dir/b/ad *_* 表示显示所有含_符的当前目录下的文件夹 详见cmd 下帮助 dir/?
for命令格式要复杂一些,见for/? 也可到我空间看一篇我前期写的关于for的文章
此处 in ('dir/b/ad *_*')将形成多行字符串,对每行以 _ 为分隔符(delims=_),共取两部分(tokens=1*)取第一段赋给%%i,,其后所有(*的意思)作为第二部分,按字母顺序,第二部分变量即%%j 然后每行作一次循环作do后的命令
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式