.bat批处理修改文件名

2024-12-02 08:17:56
推荐回答(4个)
回答1:

@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

**运行前先备份。

回答2:

@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"

回答3:

“但是有些文件名长度不一样。。 有些改名造成位置错误”是什么?
举个例子,不然不好理解你的问题

回答4:

rename c:\a.txt b.txt