bat為什麼修改不了漢字文件名
① Windows環境中,使用批處理修改特定文件名中的特定字元或者漢字
@echo off&setlocal enabledelayedexpansion
echo,&set/p x=Step1.請輸入文件後綴名(如txt,輸入*表示所有文件):
echo,&set/p sign=Step2.請輸入要去除的字元,直接回車跳過此步:
echo,&set/p change=Step3.請輸入簡繁替換漢字(如陳-^>陳),直接回車跳過此步:
echo,&echo,正在處理,請稍候...
for %%i in (*.%x%) do (
set "filename=%%i"
if defined sign set "filename=!filename:%sign%=!"
if defined change set "filename=!filename:%change:~,1%=%change:~-1%!"
if not "%%i"=="!filename!" ren "%%i" "!filename!"
)
echo,處理完畢!按任意鍵退出...
pause>nul
將以上內容保存到記事本里,修改後綴名為.bat,放到該目錄下雙擊運行即可。
因為沒有很仔細地調試,有什麼bug歡迎追問指出。
② 想給文件更改名字,但是出現更改文件擴展名會導致文件不能使用
那是因為你的電腦設置成了,顯示擴展名,然後你在修改文件名的時候連著擴展名一起給改le,所以就會出現提示了。
把你電腦設置一下就可以了。
打開「我的電腦」,點擊菜單欄中的「工具」,「文件夾選項」「查看」,把「隱藏已知文件類型的擴展名」勾起來,點擊「確定」就可以了。以後就不會出現類似問題了。
③ bat 批處理 怎樣批量把文件名中的一個漢字替換為另一個
@echooff
title文件名字元替換
modeconcols=60lines=20
::文件要是重名,會提示錯誤。
&color0a
:1
seta=
setb=
setc=
cls&echo.
set/pa=請輸入要被替換的字元:
cls&echo.
set/pb=請輸入替換「!a!」的字元,若要去掉「!a!」,請直接回車:
for/f"delims="%%ain('dir/b/a/a-d')do(
if"%%~fa"neq"%~0"(
setxz=%%~na
ren"%%~fa""!xz:%a%=%b%!%%~xa"))
cls&echo.&set/pc=操作完成,輸入0返回,輸入其它任意字元退出
if"!c!"=="0"(goto1)else(exit)
GOTO:EOF
④ 批量建文件夾,名字含漢字就失敗
將txt另存為bat的時候,將編碼改為ANSI就可以了