Board logo

标题: [文件操作] 批处理如何将文件名开头部分字符串相同的文件移动到同一文件夹里 [打印本页]

作者: zcy85611    时间: 2009-1-15 09:53     标题: 批处理如何将文件名开头部分字符串相同的文件移动到同一文件夹里

本帖最后由 pcl_test 于 2016-11-16 09:55 编辑

题目表达的不是太准确,确切的说是,现在文件夹下有2008122501.txt,2008110301.txt,2007122605.txt这三个文件,将这三个文件按 年月 分类创立文件夹并将文件放入文件夹下,比如将2008122501.txt放入200812文件夹。我自己写了一段代码,运行成功。想请教一下还有没有别的思路可行,请大家一起讨论一下。
  1. @echo off & setlocal EnableDelayedExpansion
  2. for /f %%a in ('dir /b *.txt') do (
  3. set t=%%a
  4. if exist "!t:~0,6!" (move "%%a" "!t:~0,6!" ) else md "!t:~0,6!" & move "%%a" "!t:~0,6!"
  5. )
  6. pause
复制代码

作者: tireless    时间: 2009-1-15 10:15

  1. @echo off & setlocal EnableDelayedExpansion
  2. for /f %%a in ('dir /b *.txt') do (
  3.   set t=%%a
  4.   if not exist "!t:~,6!" md "!t:~,6!"
  5.   move "%%a" "!t:~,6!"
  6. )
复制代码





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