标题: [文件操作] 如何用批处理将每一个文件夹的文件名称添加前缀? [打印本页]
作者: yuyu521 时间: 2020-12-19 16:15 标题: 如何用批处理将每一个文件夹的文件名称添加前缀?
如何用批处理将每一个文件夹的文件名称添加前缀;
取文件名规则:就是在文件名的前面加上文件夹名称(最后一个横杠为判别标准,或者是中文前面的名称)的前缀就好了
文件夹名称:DRCD-248-李海曼 文件名称:1-合同.pdf 想用批处理实现文件夹的前半部分前缀+文件名称 得出 DRCD-248-1-合同.pdf
文件名称:2-测绘报告.pdf 想用批处理实现文件夹的前半部分前缀+文件名称 得出 DRCD-248- 2-测绘报告.pdf
........
DRCD-321-何思明 文件名称:1-合同.pdf 想用批处理实现文件夹的前半部分前缀+文件名称 得出 DRCD-321-1-合同.pdf
................
DRCD-322-何玉春
DRCD-323-何玉强
DRCD-331-林志勇、徐艳
DRCD-398-1-郭伯云
DRCD-398-A-郭伯新
作者: Batcher 时间: 2021-1-24 19:53
回复 1# yuyu521
请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ- @echo off
- setlocal enabledelayedexpansion
- for /d %%a in (*) do (
- echo 正在处理文件夹:%%a
- pushd "%%a"
- for /f "tokens=1-4 delims=-" %%b in ("%%a") do (
- if "%%e" equ "" (
- set "FolderPrefix=%%b-%%c"
- ) else (
- set "FolderPrefix=%%b-%%c-%%d"
- )
- )
- for /f "delims=" %%b in ('dir /b /a-d *.pdf') do (
- ren "%%b" "!FolderPrefix!-%%b"
- )
- popd
- )
复制代码
作者: qixiaobin0715 时间: 2021-1-25 09:20
回复 1# yuyu521 - @echo off
- setlocal enabledelayedexpansion
- for /d %%a in (*) do (
- set "str=%%a"
- set "str=!str:-= !
- for %%b in (!str!) do set "str=%%a"&set "str=!str:-%%b=!"
- for /f "delims=" %%c in ('dir /b /a-d "%%a\*"') do ren "%%a\%%c" "!str!-%%c"
- )
- pause
复制代码
作者: qixiaobin0715 时间: 2021-1-27 08:48
上面代码有局限性,不能处理最后一个横杠后面含有空格、英文逗号和分号的文件夹名。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |