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

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

本帖最后由 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
复制代码

  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. )
复制代码

TOP

返回列表