[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理如何把文件名开头部分字符串相同的文件批量移动到以该字符串命名的文件夹?

如上,我有一些文件夹和文件,他们的共同之处,是除了末尾的序号,前面的汉字都相同,我需要做的是,将汉字相同的excel文件放入对应汉字的文件夹中,附件是我希望得到的最终状态。
真实情况是我会有上百个文件需要批量操作,而这里用两个文件夹举例,烦请大侠协助!

  1. for /d %%a in (*) do move "%%a*.xls" "%%a\"
复制代码

TOP

回复 2# apang

我试了下,有个问题,因为我的文件名有长有短,不一定都是两个字+序号的,能不能改一下代码,不限制文件名字数?谢谢!

TOP

回复 2# apang

哦哦,没有问题了,不是字符限制的问题,我把代码中的 xls改为xlsx即可因为格式不一样,多谢了!

TOP

我也有这个问题,我有很多的文件也是有好几百个,文件类型不同有图片、文档两种,但是文件名相同,想放到相同名字的文件夹内,不知道这个批处理命令适用吗?如果不行高手能不能给个命令呀!谢谢

TOP

回复 2# apang

高手,不好意思,我今天又试了下,这次的文件比较多,发现遇到一个问题,比如说存在以下文件:
文件夹:欣道、欣道票务
文件:欣道1、欣道2、欣道3、欣道票务1
正常来讲,应该是“欣道1、欣道2、欣道3”存到“欣道”文件夹中,“欣道票务1”存到“欣道票务”文件夹中,但事实是,“欣道1、欣道2、欣道3、欣道票务1”都存到了“欣道”文件夹中,而“欣道票务”文件夹下为空;同样的问题,福州银创&福州银创商贸也遇到了。
所以是不是代码要作一下修改,不光光是匹配前两个字,我的文件都是文字加上阿拉伯数字1234命名的,其中文字的字数都有长短,或多或少,所以需要文字精确匹配,麻烦高手再改一下代码,十分感谢!

TOP

如果序号不超过两位数
  1. for /d %%a in (*) do move "%%a?.xlsx" "%%a\"
复制代码
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

  1. for /f "delims=" %%a in ('dir /o-n /b /ad') do move "%%a*.xls" "%%a\"
复制代码

TOP

谢谢分享

TOP

感谢共享!

TOP

感谢共享!谢谢!

TOP

返回列表