标题: [文件操作] [已解决]求助BATJ脚本批量更换文件名 [打印本页]
作者: 13711640208 时间: 2021-6-20 10:43 标题: [已解决]求助BATJ脚本批量更换文件名
本帖最后由 13711640208 于 2021-6-24 14:36 编辑
目的 就是把目录下的文件名字换个格式 如20200720171513-O-L01-EN-15899666906.wav 换成15899666906_20200720171513.wav
上百个文件需要更改- setlocal EnableDelayedExpansion
- for /f "delims=" %%a in ('cmd /c "dir /b %cd%\*.wav"') do (
- set a=%%a
- )
- for /f "tokens=1,2,3,4,5,6,7 delims=-. " %%a in ('cmd /c "dir /b %cd%\*.wav"') do (
- set b=%%e_%%a.wav
- )
- ren %a% %b%
- pause
复制代码
这代码只能改set获取到的最后一个值 没啥用
作者: xiaofeige123 时间: 2021-6-20 11:47
用Excel表格函数修改啊
作者: 13711640208 时间: 2021-6-20 12:24
回复 3# idwma
ren好像不可以放在那里 报错了
作者: newswan 时间: 2021-6-20 15:34
setlocal EnableDelayedExpansion
for /f "tokens=1-6 delims=-." %%a in ('cmd /c "dir /b %cd%\*.wav"') do (
ren %%a-%%b-%%c-%%d-%%e.%%f %%e-%%a.%%f
)
pause
作者: qixiaobin0715 时间: 2021-6-25 11:08
通用一点的话,取文件名以短横分割的第1组和最后1组字符重命名,文件名中不存在短横的不改名:- @echo off
- setlocal enabledelayedexpansion
- for %%i in (*.wav) do (
- set "str=%%i"
- set "str=!str:-=/!"
- if not "!str!"=="!str:*/=/!" for %%a in ("!str:*/=/!") do ren "%%i" "%%~na_!str:%%~a=!%%~xa"
- )
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |