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

[文件操作] [已解决]批处理如何进行文件批量分类?

我有很多PDF的文件  我想把所有按照相同的文件名新建一个同名的文件夹 然后把文件剪切进去

BXXZ 10-021 B10M300-K-----1824513
BXXZ 10-021 B10M300-K-----1824413
CN 10111 M100-22A-C-----(574223)
CN 10111 M100-22A-C-----(574213)
AT 400 B11AH135-A-----(581462)
AT 400 B11AH135-A-----(581463)
2004-185 240 FA D-----(125458)
2004-185 240 FB D-----(125478)
GT123 BCD FC D-----1762238
GT123 BCD FD-----1762138
2004-185 240-----(122478)

就上面的例子上面

BXXZ 10-021 B10M300-K这个文件名 出现2次  所以把他扔到BXXZ 10-021 B10M300-K这个新建的文件夹里去
CN 10111 M100-22A-C也出现2次  也把他放到CN 10111 M100-22A-C的文件夹

还有些文件 文件名80%相似 但是出现了FA FB FC FD 这样的字母
对于这类的文件  我想要的文件名是FA FB FC FD之前的文件名
比如2004-185 240 FA D-----(125458)和GT123 BCD FC D-----1762238
我需要的是 2004-185 240 和GT123 BCD   之后的统统不要

想了好几天都没想出个头绪 有会的朋友 请帮忙一下 谢谢了
1

评分人数

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

看了三遍,楞是没看懂

TOP

回复 2# BAT1


    应该很好懂的呀
主要是因为有些文件是 GT123 BCD-----1762000 这样的  跟GT123 BCD FC D-----1762238 还是有区别的
如果出现FC的话 明明是同一类文件 分类的时候 就会出现混乱

TOP

回复 3# necnec1


先把你写的会出现混乱的代码贴出来看看吧

TOP

回复 4# Perl


    BXXZ 10-021 B10M300-K-----1824513
BXXZ 10-021 B10M300-K-----1824413
CN 10111 M100-22A-C-----(574223)
CN 10111 M100-22A-C-----(574213)
AT 400 B11AH135-A-----(581462)
AT 400 B11AH135-A-----(581463)
2004-185 240 FB D-----(125478)
GT123 BCD FC D-----1762238
GT123 BCD-----1762138
2004-185 240-----(122478)

就上面举例来说
GT123 BCD FC D-----1762238
GT123 BCD-----1762138
最后的结果我只希望得到的是 GT123 BCD这个文件名 其余的都是多余的
本来我是想用-----作为参照 -----前面都是我需要的  后面都忽略
但是发现如果这样的话 GT123 BCD FC D    和GT123 BCD其实是相同的 但是多了一个FC  就有可能会变成2个不同的文件

TOP

将相同文件名的文件 放进同名的文件夹就OK了   表述的有点复杂 呵呵 我都晕了

TOP

  1. @echo off
  2. for %%a in (*.*) do (
  3.    set str=%%a
  4.    setlocal enabledelayedexpansion
  5.    set str=!str:-----=:!
  6.    for %%b in (FA FB FC FD) do set str=!str: %%b =:!
  7.    for /f "delims=:" %%b in ("!str!:.") do (
  8.       endlocal
  9.       md "%%b"
  10.       move "%%a" "%%b\"
  11.    )
  12. ) 2>nul
复制代码
如果剩下那百分之二十的内容不止以 FA FB FC FD 开头,那楼主还是去找个重命名软件吧,批处理做起来太麻烦
1

评分人数

    • necnec1: 写的非常好 一次性OK 谢谢楼主乐于助人技术 + 1

TOP

返回列表