Board logo

标题: [文本处理] [已解决]批处理怎么把文件名字含有特定字符串的文件分开放? [打印本页]

作者: jwwlchen    时间: 2012-11-18 21:57     标题: [已解决]批处理怎么把文件名字含有特定字符串的文件分开放?

如下:
60AT0028MB1A01$24201BC4KS2C_2012_10_24_09_52_49.txt
60AT0028MB1A01$24201BC4KS2C_2012_10_24_09_55_24.txt
60AT0028MB1A01$24201BC4KS2C_2012_10_24_09_52_49.txt
60AT0028MB1A01$24200F6FKS2C_2012_10_25_01_45_02.txt
60AT0028MB1A01$24200F6FKS2C_2012_10_25_01_47_28.txt
60AT0028MB1A01$24200F6FKS2C_2012_10_25_01_49_47.txt
2380006BKS2A_2012_09_19_06_29_55.txt
23700315KS2A_2012_09_19_00_08_05.txt
237002F3KS2A_2012_09_19_00_32_02.txt
共有2类文件,带$和不带$的,其中带$红色部分为区分特征,怎么把这3类文件分开放,文件夹以特征码命令,不带$的文件放在Other文件夹中
作者: apang    时间: 2012-11-18 23:05

本帖最后由 apang 于 2012-11-19 00:13 编辑

是这个意思吗?
  1. @echo off
  2. for /f "delims=" %%a in ('dir /a-d /b *.txt') do (
  3.   for /f "tokens=1* delims=$" %%b in ("_%%~na") do (
  4.     if "%%c" neq "" (
  5.       set "str=%%c"
  6.       set "Name=%%a"
  7.       setlocal enabledelayedexpansion
  8.       md "!str:~,5!" 2>nul
  9.       move "!Name!" "!str:~,5!\"
  10.       endlocal
  11.     ) else md "Other" 2>nul&move "%%a" "Other\"
  12.   )
  13. )
  14. pause
复制代码

作者: jwwlchen    时间: 2012-11-19 09:10

恩,已验证OK,谢谢




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