怎么用bat批處理實現(xiàn)批量修改文件名-創(chuàng)新互聯(lián)

這篇文章主要講解了“怎么用bat批處理實現(xiàn)批量修改文件名”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么用bat批處理實現(xiàn)批量修改文件名”吧!

站在用戶的角度思考問題,與客戶深入溝通,找到海豐網站設計與海豐網站推廣的解決方案,憑借多年的經驗,讓設計與互聯(lián)網技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網站設計、網站制作、企業(yè)官網、英文網站、手機端網站、網站推廣、國際域名空間、網頁空間、企業(yè)郵箱。業(yè)務覆蓋海豐地區(qū)。

我們已經會使用循環(huán)命令對大量文件改名進行批量處理。但總結一下,該批處理并不是很健壯。

判斷一個程序的好壞,往往不是站在程序員的角度,而從用戶的角度出發(fā)。

比如:在用戶使用它的時候,如果輸入了不正確的路徑格式怎么辦?如果輸入了含有非法符號的前綴怎么辦?輸入的擴展名也有問題怎么辦?改完名后看不到是否執(zhí)行成功的反饋信息,等等。帶著這些想法,我們將原程序再次修改一下。


:::::::批量修改文件名.bat:::::::
@echo off
title 批量修改文件名
setlocal EnableDelayedExpansion
:: 啟用延遲變量擴充

:GetPath
set zpath=%CD%
:: 對變量進行初始化,防止用戶不輸入而直接跳過。其中%CD%表示當前路徑
set /p zpath=請輸入目標文件所在的路徑:
if %zpath:~0,1%%zpath:~-1%=="" set zpath=%zpath:~1,-1%
:: 檢查變量 zpath 的第一個和最后一個字符是否為 "" ,是的話就去掉
if not exist "%zpath%" goto :GetPath
:: 如果 zpath 值的路徑不存在,就得跳轉回去,要求重新輸入

:GetPrefix
set prefix=未命名
set /p prefix=請輸入文件名前綴(不能包含以下字符\/:*?"<>|):
for /f "delims=\/:*?<>| tokens=2" %%i in ("z%prefix%z") do goto :GetPrefix
:: 這里對變量 perfix 進行檢查,發(fā)現(xiàn)有非法符號便跳轉到 :GetPrefix
:: 事實上,這里并沒有對雙引號 " 進行檢測,因為雙引號無法在此被轉義為可用的分隔符
:: 即使是在這個程序里,不正確地使用雙引號也會引起程序異常而退出。
:: 因此,想把它做的非常人性化并不是一件容易的事情

:GetExt
set ext=.*
set /p ext=請輸入文件的擴展名(不輸入則表示所有類型):
if not "%ext:~0,1%"=="." set ext=.%ext%
:: 檢查變量 ext 的第一個是否為句點 . ,不是的話就加上
:: 建議這里對變量 ext 也檢查一下,發(fā)現(xiàn)有除*外的非法符號便跳轉到 :GetExt

set answer=N
echo.
echo 您試圖將 %zpath%\ 里的所有 %ext% 類型的文件以 %prefix% 為前綴名進行批量改名,是否繼續(xù)?
set /p answer=繼續(xù)請輸入 Y ,輸入其它鍵放棄...
if "%answer%"=="Y" goto :ReadyToRename
if "%answer%"=="y" goto :ReadyToRename

echo 放棄文件改名,按任意鍵退出... & goto :PauseThenQuit

:ReadyToRename

set /a num=0
echo.

if "%ext%"==".*" (
  for %%i in ("%zpath%\*%ext%") do (
    set /a num+=1
    ren "%%i" "%prefix%!num!%%~xi" || echo 文件 %%i 改名失敗 && set /a num-=1
  )
) else (
  for %%i in ("%zpath%\*%ext%") do (
    set /a num+=1
    ren "%%i" "%prefix%!num!%ext%" || echo 文件 %%i 改名失敗 && set /a num-=1
  )
)

if %num%==0 echo %zpath%\ 里未發(fā)現(xiàn)任何文件。按任意鍵退出... & goto :PauseThenQuit

echo 文件改名完成,按任意鍵退出...

:PauseThenQuit
pause>nul
::::::::::::::::::::::::::::::::

感謝各位的閱讀,以上就是“怎么用bat批處理實現(xiàn)批量修改文件名”的內容了,經過本文的學習后,相信大家對怎么用bat批處理實現(xiàn)批量修改文件名這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián)網站建設公司,,小編將為大家推送更多相關知識點的文章,歡迎關注!

本文題目:怎么用bat批處理實現(xiàn)批量修改文件名-創(chuàng)新互聯(lián)
本文URL:http://bm7419.com/article42/gjiec.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站設計、網站改版、全網營銷推廣、網站設計公司、品牌網站建設移動網站建設

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化