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

[文件操作] [已解决]批处理自动创建文件并分类

本帖最后由 xugouwenrou 于 2015-2-11 00:10 编辑

我有很多后缀为NC的文本,比如D10-A1.NC,能否做个批处理自动创建相对应文件夹并将这些文本分类移进新的文件夹中。
比如D10-A1.NC   自动创建文件“A面”并将文本移入
      D10-B1.NC   自动创建文件“B面”并将文本移入
      D10-C1.NC   自动创建文件“C面”并将文本移入
      D10-D1.NC   自动创建文件“D面”并将文本移入
      D10-BM1.NC 自动创建文件“底面”并将文本移入
      D10-FM1.NC 自动创建文件“底面”并将文本移入
      D10-L1.NC    自动创建文件“F面”并将文本移入
      D10-EP1.NC  自动创建文件“R面”并将文本移入
以上8中文本名只有-之后数字之前的名字是固定不变的,如果没有以上特征,则跳过不创建新文件夹
求助大神帮帮忙,谢谢

  1. @echo off
  2. md "A面" "B面" "C面" "D面" "底面" "底面" "F面" "R面" 2>nul
  3. move /y *-BM*.NC "底面"
  4. move /y *-FM*.NC "底面"
  5. move /y *-L*.NC "F面"
  6. move /y *-EP*.NC "R面"
  7. move /y *-A*.NC "A面"
  8. move /y *-B*.NC "B面"
  9. move /y *-C*.NC "C面"
  10. move /y *-D*.NC "D面"
复制代码
1

评分人数

TOP

本帖最后由 xugouwenrou 于 2015-2-3 17:46 编辑

回复 2# DAIC
谢谢大神指点,不过如果没相对应文本,则跳过不创建空文件夹,这样就更完美了
比如;文件中只有D10-A1.NC,D10-B1.NC,执行BAT批处理后只创建并移动至“A面”“B面”,不产生其他无关的空文件
另外,我还有个更大胆的想法,此批处理能否执行之后本身自动删除

TOP

@echo off
if exist *-BM*.NC md "底面"
move /y *-BM*.NC "底面"
if exist *-FM*.NC md "底面"
move /y *-FM*.NC "底面"
if exist *-EP*.NC md "R面"
move /y *-EP*.NC "R面"
if exist *-A*.NC md "A面"
move /y *-A*.NC "A面"
if exist *-B*.NC md "B面"
move /y *-B*.NC "B面"
if exist *-C*.NC md "C面"
move /y *-C*.NC "C面"
if exist *-D*.NC md "D面"
move /y *-D*.NC "D面"
if exist *-L*.NC md "F面"
move /y *-L*.NC "F面"
del %0
化繁為簡,萬變其中!

TOP

回复 4# legend_bat


move命令也要放到if内部
  1. @echo off
  2. if exist *-BM*.NC (
  3.     md "底面" 2>nul
  4.     move /y *-BM*.NC "底面"
  5. )
  6. if exist *-FM*.NC (
  7.     md "底面" 2>nul
  8.     move /y *-FM*.NC "底面"
  9. )
  10. if exist *-EP*.NC (
  11.     md "R面" 2>nul
  12.     move /y *-EP*.NC "R面"
  13. )
  14. if exist *-A*.NC (
  15.     md "A面" 2>nul
  16.     move /y *-A*.NC "A面"
  17. )
  18. if exist *-B*.NC (
  19.     md "B面" 2>nul
  20.     move /y *-B*.NC "B面"
  21. )
  22. if exist *-C*.NC (
  23.     md "C面" 2>nul
  24.     move /y *-C*.NC "C面"
  25. )
  26. if exist *-D*.NC (
  27.     md "D面" 2>nul
  28.     move /y *-D*.NC "D面"
  29. )
  30. if exist *-L*.NC (
  31.     md "F面" 2>nul
  32.     move /y *-L*.NC "F面"
  33. )
  34. del /f /q "%~f0"
复制代码

TOP

回复 5# DAIC

确实,学习了~
化繁為簡,萬變其中!

TOP

谢谢两位大神的热心解答,问题很完美解决,谢谢

TOP

回复 7# xugouwenrou

如果问题已解决,请在标题最前面标上[已解决]
http://www.bathome.net/thread-3473-1-1.html

TOP

返回列表