Board logo

标题: [文件操作] 批处理分类文件和文件夹。 [打印本页]

作者: siamtir    时间: 2015-8-15 16:24     标题: 批处理分类文件和文件夹。

本帖最后由 siamtir 于 2015-8-15 16:26 编辑

代码是这样的
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. title 文件分类 @Layne
  4. mode con cols=45 lines=15
  5. color 2f
  6. for /f "tokens=1,2 delims=/" %%i in (a.txt) do (
  7. md "%%i"
  8. move "*%%j*" "%%i"
  9. )
  10. 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

  1. @echo off
  2. for /f "tokens=1,2 delims=/" %%i in (a.txt) do (
  3.     md "%%i" 2>nul
  4.     for /f "delims=" %%a in ('dir /b *%%j* 2^>nul') do move "%%a" "%%i\"
  5. )
  6. pause
复制代码

作者: siamtir    时间: 2015-8-16 00:34

回复 2# pcl_test


    哇,大神就是不一样,,果然可以。。我这个建立的文件夹前面能不能加上生成时间。。。比如[2015年8月14日A]
作者: siamtir    时间: 2015-8-16 00:46

回复 2# pcl_test
  1.     set "Ymd=%date:~,4%年%date:~5,2%月%date:~8,2%日"
  2. for /f "tokens=1,2 delims=/" %%i in (a.txt) do (
  3.     md "%Ymd%%%i" 2>nul
  4.     for /f "delims=" %%a in ('dir /b *%%j* 2^>nul') do move "%%a" "%Ymd%%%i\"
  5. )
复制代码
解决了。这个简单。
作者: siamtir    时间: 2015-8-16 00:49

回复 2# pcl_test


   
我想把a.txt整合进去bat。要不容易误删。。怎么办。a.txt里面有很多关键字。
作者: pcl_test    时间: 2015-8-16 11:08

回复 5# siamtir
  1. @echo off
  2. set "Ymd=%date:~,4%年%date:~5,2%月%date:~8,2%日"
  3. for /f "tokens=1,2 delims=/" %%i in ('more +7 %0') do (
  4.     md "%Ymd%%%i" 2>nul
  5.     for /f "delims=" %%a in ('dir /b *%%j* 2^>nul') do move "%%a" "%Ymd%%%i\"
  6. )
  7. pause&exit /b
  8. A/钥匙扣
  9. A/手机链
  10. A/魔方
  11. A/车挂
  12. B/哈罗那
  13. B/哈罗娜
  14. B/梦幻
  15. B/大韩
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2