.bat批处理修改文件名
发布网友
发布时间:2022-04-24 09:11
我来回答
共4个回答
热心网友
时间:2022-06-18 10:30
@echo off & setlocal enabledelayedexpansion
::设置替换规则
set "REP=123456→XXXX1;abcd→XXXX2"
for %%i in (%REP%) do (
(
for /f "delims=→ tokens=1*" %%A in ("%%i") do (
(
for /f "tokens=* usebackq" %%f in (`dir /b /on *.jpg 2^>nul`) do (
set FN=%%f
REN "!FN!" "!FN:%%A=%%B!" 2>nul
)
)
)
)
)
echo 重命名完成。&pause >nul
**运行前先备份。
热心网友
时间:2022-06-18 10:31
@echo off&for /f "tokens=1* delims=_" %%1 in ('dir /b "123456*.jpg"')do ren "%%1_%%2" "%%11_%%2"
for /f "tokens=1* delims=_" %%1 in ('dir /b "abcd*.jpg"')do ren "%%1_%%2" "%%12_%%2"
热心网友
时间:2022-06-18 10:31
“但是有些文件名长度不一样。。 有些改名造成位置错误”是什么?
举个例子,不然不好理解你的问题追问你好, 比如
我要把
abcd.jpg 改成 12345678-2.jpg
abcd_1.jpg 改成 12345678-2_1.jpg
abcd_2.jpg 改成 12345678-2_2.jpg
如果使用
ren abcd*.jpg 12345678-2*.jpg
就没办法替换, 因为abcd和12345678-2的长度不一样。
我就是想解决这个问题。
热心网友
时间:2022-06-18 10:32
rename c:\a.txt b.txt追问需要通配符。