批處理 檔名操作

2021-08-14 16:14:42 字數 1945 閱讀 4831

使用revit批量匯出cad或pdf的時候檔名總會帶一些字首,用批處理寫了乙個小指令碼去對檔名進行操作,可以實現批量去除字首,新增字首,字串替換。

以下核心**:

rem 新增字首

:cmdaddprefix

echo 要處理的檔案型別:

rem 取得輸入的檔案型別

set /p type=

echo 新增的字首:

rem 取得輸入的字首

set /p prefix=

echo.

rem 遍歷檔案

for /f "delims=" %%i in ('dir /a /b *.%type%') do (

rem 顯示修改內容

echo %%i ^>^>^> %prefix%%%i

set /a changefilenum+=1

rem 修改檔名稱

ren "%%i" "%prefix%%%i"&&set /a filenum+=1

)goto comit

rem 刪除字首

:cmddelprefix

echo 要處理的檔案型別:

rem 取得輸入的檔案型別

set /p type=

echo 刪除的字首:

rem 取得待刪除的字首

set /p prefix=

set str=%prefix%

rem 獲得字首的字元長度

:next

if not "%str%"=="" (

set /a prenum+=1

set "str=%str:~1%"

goto next

)rem 變數延遲擴充套件

setlocal enabledelayedexpansion

echo.

rem 遍歷檔案

for /f "delims=" %%i in ('dir /a /b %prefix%*.%type%') do (

set var=%%i

rem 擷取字串

set "var=!var:~%prenum%!"

rem 顯示修改內容

echo %%i ^>^>^> !var!

set /a changefilenum+=1

rem 修改檔名稱

ren "%%i" "!var!"&&set /a filenum+=1

)goto comit

rem 替換字串  

:cmdreplacestr

echo 要處理的檔案型別:

rem 取得輸入的檔案型別

set /p type=

echo 被替換的字元:

rem 取得要被替換的字串

set /p str=

echo 替換的字元:

rem 取得用於替換的字串

set /p str1=

echo.

rem 變數延遲擴充套件

setlocal enabledelayedexpansion

rem 遍歷檔案

for /f "delims=" %%i in ('dir /a /b *.%type%') do (

set var=%%i

rem 替換字串

set var=!var:%str%=%str1%!

rem 顯示修改內容

echo %%i ^>^>^> !var!

set /a changefilenum+=1

rem 修改檔名稱

ren "%%i" "!var!"&&set /a filenum+=1

) goto comit

批處理檔案

dos下的可執行檔案有三種,分別是exe,com和bat。其中,exe和com檔案都是二進位制形式的,只有bat檔案是文字形式的,可以直接閱讀。因 此,bat檔案和以上二進位制可執行檔案相比,內容要簡單的多。這些檔案內包含著dos命令的集合,通常叫作批處理檔案。批處理檔案的組成雖然比較簡單,但 其用...

批處理檔案

今天實習做kuntian license server時,每次執行服務都需要在dos中鍵入installutil或installutil u 為了省事,我做了乙個批處理檔案來執行 批處理檔案很簡單 只有兩句 c windows microsoft.net framework v4.0.30319 i...

批處理檔案

前言 我們常常會在一些批處理檔案中看到 echo off這個命令,那他究竟有什麼作用,要想知道這個命令,我們首先得知道echo這個命令的作用,這個命令叫做 回顯 就是把這條命令後的內容顯示到控制台上,接下來我們來看一下 echo off命令的作用。內容我們來新建乙個檔案,檔案就命名為test ech...