01_批量修改檔案名稱.bat
:: ________________________________________________批量修改檔案名稱@echo offecho 開始變更檔名set extension = .rar:: ________________________________________________ /a 用來標識數實值型別的變數set /a sum = 0for %%m in (*) do (if not "%%m" == "batchrename.bat" (:: ________________________________________________ren 命令來修改檔案名稱ren %%m %%m%extension%set /a sum = sum + 1))echo 檔案改名完畢,一共有 %sum%個檔案被改名!set sum =set extension =
這段命令明顯有問題,以後學深了再來改改,這裡先記一筆:重新命名的時候沒有進行判斷,會重複命名
02_建立從0到99的100個檔案
@echo offecho 正在建立檔案:: echo.輸出空行,即相當於輸入一個斷行符號 echo.echo.:: /l 表示for迴圈只能在指定的範圍迴圈for /l %%n in (0,1,99) do (:: >>重新導向符號echo 測試文檔 >>test%%n.txt)echo 檔案建立完畢
03_自動迴圈某個程式
@echo offecho 正在測試是否可以ping 通主機 18.18.18.34....:again:: __________________________________________>nul 表示將ping命令的輸出資訊發送到空裝置而不顯示在螢幕上ping 18.18.18.34 >nul:: __________________________________________EQU 判斷某兩個數值是否相等if not %errorlevel% EQU 0 goto againstart "可正常與主機通訊" echo 現在可以正常ping 通主機 18.18.18.34
04_顯示批處理的完整路徑資訊
@echo offecho 當前啟動並執行%0檔案的完整路徑為::: ____________________________________%0代表批次檔本身,而%~dp0表示檔案上的路徑資訊echo %~dp0echo.echo.
05_將檔案名稱自動更名為當前系統日期
@echo off:: _______________________________________%1為命令列傳給批處理要改名的檔案if not exist %1 ( echo 命令用法如下::: _______________________________________%0表示批處理名echo %0 filenameecho filename: 表示需要修改的檔案名稱。echo.echo.goto end):: _______________________________________ %~x1表示%1檔案的副檔名,~x表示取變數的副檔名set extension=%~x1@echo on:: _______________________________________ tokens用於定義for迴圈變數的個數,delims用於定義字串的分隔字元for /F "tokens=1-3 delims=/- " %%A in ('date/T') do set date = %%A%%B%%C:: _______________________________________ 這裡特別說明一下,date應該是被改變了值的,可是這裡沒有變,所以報錯ren %1 %date%%extension%echo.echo 檔案%1已經被成功更名為%date%%extension%set extension=set date=:end