最近的一些bat小指令碼

2021-08-28 13:44:21 字數 1010 閱讀 7012

計算目錄下的檔案個數,並新增到目錄名中

@ echo off

setlocal enabledelayedexpansion

::變數延遲

for /f %%i in ('dir /a:d /b "%~dp0"') do (

set /a n=0

for /r %%j in ("%%i\*") do (

set /a n+=1

)::echo.%%i-[!n!]

::上面可以用來檢查檔名

ren "%%i" "%%i-[!n!]"

::也可以用move "%%i" "%%i-[!n!]"

)pause

用於刪除以上指令碼生成的目錄字尾

@ echo off

setlocal enabledelayedexpansion

for /f %%i in ('dir /a:d /b "%~dp0"') do (

for /f "delims=-[" %%a in (^""%%i") do (

:: echo.%%i %%a

ren %%i %%a

))pause

以上指令碼有乙個比較蛋疼的毛病是,只要資料夾內存在帶有檔案的子目錄,該資料夾就無法改名,顯示拒絕訪問,無論是使用ren 還是move,嘗試在cmd裡面測試move語句,一樣的狀況,似乎是許可權問題

按文字新建資料夾

for /f %%i in (dir.txt) do mkdir %%i

pause

按文字改名

for /f %%i in (name.txt) do copy 123.txt %%i.txt

pause

移動子資料夾內檔案到指令碼目錄

for /r . %%i in (*) do move "%%i" . 

pause

BAT指令碼的一些技巧寫法

我以前一直以為bat不能像linux的shell一樣設定函式並且呼叫,事實上我發現這是可以的。不過由於批處理的特性是一行一行執行的,這種label的函式必須要寫在文字的最後。如果寫在了批處理命令的前面,bat會逐行執行裡面的命令的。寫在文件的最後面,並且在 函式區域 前跳過這些 順便吐槽一下,這種函...

bat 的一些操作

把d test test.txt這個檔案複製到d盤根目錄下,那麼,使用 copy d test test.txt d 就可以輕易辦到。copy y d test test.txt d copy y d test user 01 test.txt d files 如果要複製的路徑帶有空格 等特殊符號的...

最近的一些感想

第一次出差,感覺就是客戶最急迫的事情就是解決他們的現場問題,經過qa的多次測試來發現其中可能存在的隱患,並解決他們,為量產做好準備。然後就是如果有經過測試的rom.bin最好儲存乙份,以免在更新軟體之後測試出問題,不知道什麼原因,然後又無法恢復到以前的測試版本,出差需要帶一些筆,紙之類的東西,記錄一...