@echo off
mode con cols=50 lines=20
color 0a
setlocal enabledelayedexpansion
echo --------------------------------------------
echo 【批量更改当前目录中所有文件的文件名】-
echo 【不包括子文件夹】-
echo --------------------------------------------
echo 【请确认是否锁定文件类型】
echo 【0-锁定(默认)/1-不锁定】
echo 【建议锁定,这样批量改名不会影响文件类型(后缀)】
echo 【如果要替换文件后缀名:】
echo 【例如:将.jgp替换成.bmp】
echo 【请输入1】
echo 【回车确认】
set str_type=0
set /P str_type=【默认0】:
set /P str1=输入被替换字符【非空字符】【回车】:
set /P str2=输入新字符【空字符直接回车】:
set /P str_start=输入前缀字符【空字符直接回车】:
set /P str_end=输入后缀字符【空字符直接回车】:
echo str_type=%str_type%
if %str_type%==0 (
for /f "tokens=*" %%i in ('dir/b') do (
if not "%%i"=="%~nx0" (
set fn=%%~ni
set fn=!fn:%str1%=%str2%!
set fn=%str_start%!fn!%str_end%%%~xi
ren "%%i" !fn!
echo !fn!
)
)
) else (
if %str_type%==1 (
for /f "tokens=*" %%i in ('dir/b') do (
if not "%%i"=="%~nx0" (
set fn=%%i
set fn=!fn:%str1%=%str2%!
set fn=%str_start%!fn!%str_end%
ren "%%i" !fn!
echo !fn!
)
)
)
)
pause
:--------------------------------------
set str1=9734
set str2=9077
set str3=0
set str4=%str1%%str2%%str3%@
:--------------------------------------
echo %str4%com
pause
bat001-批处理更改文件名-批量更改文件名(替换文件名中的空格)
于 2021-08-29 17:32:21 首次发布