删除文件名中的英文括号
@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=【请输入1或0,默认0】:
set /P str_start=输入前缀字符【空字符直接回车】:
set /P str_end=输入后缀字符【空字符直接回车】:
set str1=(
set str2=(
set str3=)
set str4=)
:--------------------------------------
:先去掉文件名中的空格
for /f "tokens=*" %%i in ('dir/b') do (
set fn=%%i
set fn=!fn: =_!
ren "%%i" !fn!
)
:先去掉文件名中的空格
:--------------------------------------
:--------------------------------------
:再进行替换
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: =_!
set fn=!fn:%str1%=%str2%!
set "fn=!fn:%str3%=%str4%!"
set fn=%str_start%!fn!%str_end%
set fn=!fn!%%~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: =_!
set fn=!fn:%str1%=%str2%!
set "fn=!fn:%str3%=%str4%!"
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