标题: [文件操作] 批处理分类文件和文件夹。 [打印本页]
作者: siamtir 时间: 2015-8-15 16:24 标题: 批处理分类文件和文件夹。
本帖最后由 siamtir 于 2015-8-15 16:26 编辑
代码是这样的- @echo off
- setlocal enabledelayedexpansion
- title 文件分类 @Layne
- mode con cols=45 lines=15
- color 2f
-
- for /f "tokens=1,2 delims=/" %%i in (a.txt) do (
- md "%%i"
- move "*%%j*" "%%i"
- )
-
- pause
复制代码
目录下的a.txt是这样的
A/钥匙扣
A/手机链
A/魔方
A/车挂
B/哈罗那
B/哈罗娜
B/梦幻
B/大韩
目录下文件夹和文件都有。
我运行这个代码。。
大韩.txt
10x10大韩.txt
大韩10x10.txt
任何后缀名【文件】都能自动到文件夹下。。
但是【文件夹却不行】 我里面还有叫
[大韩]
[10x10大韩]
[大韩10x10]
的各种文件夹。具体文件夹参考A.txt/后面
的文件夹了,却无法移动,想让他们移动。。但是关键字是其中的任意位置。。
作者: pcl_test 时间: 2015-8-15 18:11
- @echo off
- for /f "tokens=1,2 delims=/" %%i in (a.txt) do (
- md "%%i" 2>nul
- for /f "delims=" %%a in ('dir /b *%%j* 2^>nul') do move "%%a" "%%i\"
- )
- pause
复制代码
作者: siamtir 时间: 2015-8-16 00:34
回复 2# pcl_test
哇,大神就是不一样,,果然可以。。我这个建立的文件夹前面能不能加上生成时间。。。比如[2015年8月14日A]
作者: siamtir 时间: 2015-8-16 00:46
回复 2# pcl_test - set "Ymd=%date:~,4%年%date:~5,2%月%date:~8,2%日"
- for /f "tokens=1,2 delims=/" %%i in (a.txt) do (
- md "%Ymd%%%i" 2>nul
- for /f "delims=" %%a in ('dir /b *%%j* 2^>nul') do move "%%a" "%Ymd%%%i\"
- )
复制代码
解决了。这个简单。
作者: siamtir 时间: 2015-8-16 00:49
回复 2# pcl_test
我想把a.txt整合进去bat。要不容易误删。。怎么办。a.txt里面有很多关键字。
作者: pcl_test 时间: 2015-8-16 11:08
回复 5# siamtir - @echo off
- set "Ymd=%date:~,4%年%date:~5,2%月%date:~8,2%日"
- for /f "tokens=1,2 delims=/" %%i in ('more +7 %0') do (
- md "%Ymd%%%i" 2>nul
- for /f "delims=" %%a in ('dir /b *%%j* 2^>nul') do move "%%a" "%Ymd%%%i\"
- )
- pause&exit /b
- A/钥匙扣
- A/手机链
- A/魔方
- A/车挂
- B/哈罗那
- B/哈罗娜
- B/梦幻
- B/大韩
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |