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

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

如下:
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文件夹中
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

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

评分人数

TOP

恩,已验证OK,谢谢

TOP

返回列表