标题: [文件操作] 批处理如何将文件名中具有相同前缀字符串的文件移动到以该字符串命名的文件夹里 [打印本页]
作者: wbkl 时间: 2015-12-2 19:48 标题: 批处理如何将文件名中具有相同前缀字符串的文件移动到以该字符串命名的文件夹里
本帖最后由 pcl_test 于 2016-7-7 19:54 编辑
工作中遇到一个大难题,要移动几个名称相符的文件和文件夹,求各位老师帮忙代写一下。非常感谢!
结构:目录下有几百个文件夹(文件夹名称都以数字开头的,如5123AB),有几倍数量的INI配置文件(文件名称前一半与文件夹相同,如5123AB_1213.INI,5123AB_1215.ini等),每个文件夹中还有几个BAK格式文件。
处理1:将所有的INI配置文件按前一半相同名称移动到相同名称的文件夹中(如将5123AB_1213.INI,5123AB_1215.ini移动5123AB中)。
处理2:进入5123AB目录(第一层目录)中,再新建一个相同名称的文件夹5123AB(第二层目录),再将第一层目录下所有的BAK格式文件移动到这个新建的文件夹(第二层目录)中。
处理3:最后将D:\SLOG目录中的所有内容(有文件,也有文件夹)复制到每个目录(第一层目录)下各一份。
作者: aa77dd@163.com 时间: 2015-12-2 20:36
- @echo off
-
- for /f "delims=" %%a in ('dir * /ad /b') do (
- move "%%~a_*.ini" "%%~a"
-
- md "%%~a\%%~a"
- move "%%~a\*.BAK" "%%~a\%%~a\"
-
- xcopy /e D:\SLOG\*.* "%%~a\"
- )
-
- pause
复制代码
作者: wbkl 时间: 2015-12-6 12:21
尼玛,你不知道我当初想这个标题想了多久,。。。。我到现在都不知道 怎么样 描述这个标题,哎。。。
这个批处理,我这2天自学了一下,这样写行不行
@echo off
for /d %%a in (*) do (
move "%%~a_*.ini" "%%~a"
md "%%~a\%%~a"
move "%%~a\*.BAK" "%%~a\%%~a\"
xcopy /e D:\SLOG\*.* "%%~a\"
)
pause
作者: wbkl 时间: 2015-12-6 12:22
我试验过,能到达 预期的效果。。。只是不知道合不合理
作者: wbkl 时间: 2015-12-6 12:42
回复 2# aa77dd@163.com
非常 感谢 ,这2天忙了,没及时回复,不好意思。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |