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

[文件操作] 批处理 将文件名中含有相同字段的文件放入同个文件夹

请教大家,现在有一个文件夹,里面包含几百个文件,文件命名为“编号+文件名”

例如:

1-批处理.docx
1-批处理之家.pdf
2-批处理真牛.pdf
3-批处理学会了吗.xls
3-批处理再学一次.jpg
……
……

如何把带有相同编号的文件归入同一个文件夹,使得该文件夹最终整理为:

文件夹1
文件夹2
文件夹3
……
……

变形:假如文件夹中已经包含有:

文件夹1
文件夹2
文件夹3
……
……

但是各个文件夹里的文件命名没有带编号,如何让这些文件带上所在文件夹的编号(不删去原有名字),且依旧留在原文件夹中呢?

回复 1# 六号民工


归入.bat
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "tokens=1* delims=-" %%i in ('dir /b /a-d "*-*"') do (
  4.     if "%%i-%%j" neq "%~nx0" (
  5.         if not exist "文件夹%%i\" (
  6.             md "文件夹%%i"
  7.         )
  8.         move "%%i-%%j" "文件夹%%i\"
  9.     )
  10. )
复制代码
请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

高手,学习了。

TOP

第2种情形,批处理文件放在与各文件夹同一目录。未测试:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f %%i in ('dir /b /ad') do (
  4.     set n=%%i
  5.     set n=!n:文件夹=!
  6.     pushd "%%i"
  7.     for /f "delims=" %%a in ('dir /b /a-d') do ren "%%a" "!n!-%%a"
  8.     popd
  9. )
  10. pause
复制代码

TOP

返回列表