小續
看了下時間,10年寫的了
批處理是個很強大的東西,現在任何乙個工具都包含這個功能,只是被工具給封閉起來了
懷念下dos時代的批處理啊
rem即高階語言中的注釋的意思,能看懂每個程式的作用了吧
@echo off
rem …………………call命令的應用
type a.txt
call c.bat
echo 現在呼叫xx後面的
call :xx
dir a.txt
:xxecho dir a.txt沒有執行
@echo off
rem …………………start命令的應用
start "a.txt" /wait dir a.txt
echo 已經從新命令視窗返回
echo 下面的注釋沒有顯示出來
rem …………………注釋命令的應用@echo off
rem 這個是注釋命令
start "a.txt" /wait dir a.txt
@echo off
rem …………………shift命令的應用@echo off
:round
if "%1"=="" goto end
echo %1內容如下:
type %1
echo.
shift
goto round
:end
rem shift命令 設定批處理從第n個引數開始移位,n的值是0至8
rem 符號%0至%9專用於批處理從命令列獲得的引數,一次代表命令列輸入的相應引數,即輸入的引數
rem 輸入後面要帶上相應的a.txt或者更多………………
set /a sum=0
rem …………………for命令的應用@echo off
rem set設定成可求值的數字表示式的時候用/a
for %%x in (*.txt) do (
echo %%x檔案的內容如下:
type %%x
echo.
set /a sum=sum+1
)echo 一共顯示了%sum%個檔案
rem 解析for %%x in (*.txt) 對於當前目錄下所有以.txt結尾的檔案
@echo off
rem …………………萬用字元*和?的應用
rem *代表任意多個(包括0個字元),?代表任意單個字元
if exist *.txt echo 當前資料夾下有檔案!
echo 以p開頭的目錄如下:
dir /d /w /b p*
echo.
echo 以dk開頭的、第三個字元為任意字元、第四個字元為t、擴充套件名為三個字元且以do開頭的檔案如下:
dir /b /w dk?t.do?
@echo off
rem………………… 重定向符<、>、>>的應用
rem 控制資料的輸入輸出方式,>會替換目地資料,而》符號只是將資料來源新增到目標資料後
echo 正在自動建立的批處理…………………
echo echo 進入auto.bat批處理檔案中…………………
echo type a.txt > auto.bat
echo dir /b /w >> auto.bat
echo 被自動建立的auto.bat檔案的內容如下:
type auto.bat
echo.
echo 排序後的auto.bat為:
sort < auto.bat
@echo off
rem …………………管道符|的應用
rem 他將乙個命令的輸出資料提取出來,然後將提取出來的資料作為另乙個命令的輸入
find "requirements" a.txt | sort >result.txt
echo 對包含"requirements"單詞的行排序後如下:
type result.txt
rem 批處理首先在a.txt檔案中找出所有包含requirements的行,接著將找出的結果通過|傳給rem sort命令進行排序,最後將排序結果儲存到result檔案
批處理改名**
@echo off & setlocal enabledelayedexpansiontitle 檔案批量重新命名整理
mode con cols=60
lines=10 & color 9b&set list=%random%
echo.&echo.
echo 此批處理指令碼用於將此路徑下的所有同類檔案批量重新命名
echo.
set /p start=開始整理檔案請輸入[y]:
if not "%start%"=="y" if not "%start%"=="y" exit
echo.
set /p bak=請輸入要整理的檔名字尾[如jpg]:
echo.
set /p name=請輸入更改後的檔名稱(直接回車則按從01開始的有序數字命名):
for /f "delims=" %%i in ('dir /b *.!bak!') do (
set /a num+=1
if not "%%~nxi"=="%~nx0" (
if !num! lss 10 (ren "%%~nxi" !name!0!num!.!bak!&echo %%~xni 已重新命名為: !name!0!num!.!bak! >
>%temp%\%list%) else ren "%%~nxi" !name!!num!.!bak!&echo %%~xni 已重新命名為: !name!!num!.!bak! >
>%temp%\%list%
)else set /a num-=1
set /a no=!num!+2
mode con cols=60
lines=!no!&color 5a
echo !num!個檔案已經完成重新命名,分別為:
type %temp%\%list%
set /p type=要匯出該清單列表請輸入[y],否則直接回車鍵退出。
if not "%type%"=="y" if not "%type%"=="y" exit
copy %temp%\%list% 重新命名列表清單.txt&del /q %temp%\%list%&exit
批處理指令碼 基礎
批處理是windows下的一種指令碼 後面統稱批處理指令碼 一般就是字尾為.bat或者.cmd的檔案。雙擊該檔案,或者在命令列中輸入該檔名 注意絕對路徑和相對路徑 就可以逐行執行其中的內容。批處理指令碼由windows下面的cmd.exe程式來處理,可以通過如下的方式來開啟乙個cmd.exe,它表現...
批處理系列 1 基礎
掃一遍,旨在認識,不在熟悉。常用dos命令 if else語句 for語句 for variable in set do command command parameters options delims tokens skip eol userbackq 變數延遲 解析文字,讀取字串,eol st...
批處理DOS基礎命令
批處理 batch 也稱為批處理指令碼。顧名思義,批處理就是對某物件進行批量的處理。批處理檔案的擴充套件名為bat。在 命令提示 下鍵入批處理檔案的名稱,或者雙擊該批處理檔案,系統就會呼叫cmd.exe執行該批處理程式。一般情況下,每條命令佔據一行 當然也可以將多條命令用特定符號 如 等 分隔後寫入...