标题: [文件操作] 批处理 将文件名中含有相同字段的文件放入同个文件夹 [打印本页]
作者: 六号民工 时间: 2021-11-18 21:23 标题: 批处理 将文件名中含有相同字段的文件放入同个文件夹
请教大家,现在有一个文件夹,里面包含几百个文件,文件命名为“编号+文件名”
例如:
1-批处理.docx
1-批处理之家.pdf
2-批处理真牛.pdf
3-批处理学会了吗.xls
3-批处理再学一次.jpg
……
……
如何把带有相同编号的文件归入同一个文件夹,使得该文件夹最终整理为:
文件夹1
文件夹2
文件夹3
……
……
变形:假如文件夹中已经包含有:
文件夹1
文件夹2
文件夹3
……
……
但是各个文件夹里的文件命名没有带编号,如何让这些文件带上所在文件夹的编号(不删去原有名字),且依旧留在原文件夹中呢?
作者: Batcher 时间: 2021-11-18 21:36
回复 1# 六号民工
归入.bat- @echo off
- cd /d "%~dp0"
- for /f "tokens=1* delims=-" %%i in ('dir /b /a-d "*-*"') do (
- if "%%i-%%j" neq "%~nx0" (
- if not exist "文件夹%%i\" (
- md "文件夹%%i"
- )
- move "%%i-%%j" "文件夹%%i\"
- )
- )
复制代码
请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ
作者: liqihu 时间: 2021-11-18 22:06
高手,学习了。
作者: qixiaobin0715 时间: 2021-11-18 22:10
第2种情形,批处理文件放在与各文件夹同一目录。未测试:- @echo off
- setlocal enabledelayedexpansion
- for /f %%i in ('dir /b /ad') do (
- set n=%%i
- set n=!n:文件夹=!
- pushd "%%i"
- for /f "delims=" %%a in ('dir /b /a-d') do ren "%%a" "!n!-%%a"
- popd
- )
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |