《轉》批處理檔案的編寫

2021-08-29 06:02:13 字數 2639 閱讀 6323

批處理檔案的編寫:

.bat是dos下的批處理檔案

.cmd是nt核心命令列環境的另一種批處理檔案

從更廣義的角度來看,unix的shell指令碼以及其它作業系統甚至應用程式中由外殼進行解釋執行的文字,都具有與批處理檔案十分相似的作用,而且同樣是由專用直譯器以行為單位解釋執行,這種文字形式更通用的稱謂是指令碼語言。所以從某個程度分析,batch, unix shell, awk, basic, perl 等指令碼語言都是一樣的,只不過應用的範圍和解釋的平台各有不同而已。甚至有些應用程式仍然沿用批處理這一稱呼,而其內容和副檔名與dos的批處理卻又完全不同。

首先批處理檔案是乙個文字檔案,這個檔案的每一行都是一條dos命令(大部分時候就好象我們在dos提示符下執行的命令列一樣),你可以使用dos下的edit或者windows的記事本(notepad)等任何文字檔案編輯工具建立和修改批處理檔案。

在這裡面常用到的命令有:

echo,當程式執行時,顯示或隱藏批處理程式中的正文。也可用於允許或禁止命令的回顯。

rem,指定要遮蔽的命令或要包含的註解。

pause,暫停批處理程式的執行並顯示一條訊息,提示使用者按任意鍵繼續執行。

if,條件語句

if exist,存在語句

goto,跳轉語句

:,標號。和goto結合使用

for,迴圈語句

%,引數的使用

下面給出我學習時的幾個例子:

一、first.bat,簡單的將d盤下的檔案列表儲存到a.txt中,並列印出一句話你好

@echo off

dir d:\*.* >a.txt

rem 列印出你好

echo 你好

pause

二、second.bat,練習if ,goto,和:,

@echo off

::如果是b.txt 則直接跳到end

if %1==b.txt goto end

rem 如果檔案存在則轉到真正的操作,否則跳到end

if exist %1 goto oktype

echo 錯誤的檔案

goto end

rem 引數正確,執行命令

:oktype

type %1

rem 結束 

:end

echo 命令執行完畢

三、third.bat,練習for,顯示在執行目錄下,所有擴充套件名為*.bat *.txt *.sys的檔案

@echo off

for %%c in (*.bat *.txt *.sys) do type %%c

下面的四、五、六三個例子,是我要在實際中用到的,其中mysqlbat是用來呼叫mytestscript資料庫指令碼檔案(見七)來做一些資料庫處理,

同時還從mysql中匯出資料庫檔案到文字檔案的,

myhpergrouputil是在ibmolayserver 的前端展現工具hyper analyse中,將設計好的檢視匯出的,

mybat是乙個可以說是綜合的批處理檔案,根據輸入的引數呼叫前兩個批處理檔案,例如輸入:mybat -sql 則自動執行mysqlbat

輸入:mybat -grouputil,則自動執行myhpergrouputil

四、mysqlbat.bat 

@echo off

rem 列印出你好

echo 你好

rem mysql -u root --password=123

rem 將gb資料庫自動匯出到d盤下的檔案中

cd d:\

mysql -u root --password=123 < "d:\myworkspace\bat\mytestscript"

mysqldump gb -u root --password=123 > gb.sql

echo 結束

cd d:\myworkspace\bat>mysqlbat

pause

六、mybat.bat

@echo off

::如果是sql則直接跳到end

if %1==-sql goto sql

if %1==-grouputil goto grouputil

:wrong param

echo 引數不存在

goto end

:sql

mysqlbat

goto end

:grouputil

myhpergrouputil

goto end

rem 結束 

:end

echo 命令執行完畢

七、mytestscript資料庫指令碼檔案

use gb;

drop table testscript;

create table testscript(col1 int not null,col2 varchar(10));

insert into testscript(col1,col2) values(1,"c1");

insert into testscript(col1,col2) values(2,"c2");

select * from testscript into outfile 'd:/myworkspace/bat/testscript.txt';

隨著我學習的深入,會進一步的補充。

trackback:

批處理檔案編寫

自上而下成批的處理每一條命令,知道執行到最後一條 建立記事本檔案然後將檔案字尾改為.bat即可 pause 暫停執行 echo off 遮蔽執行過程,即關閉回顯 color 0a 設定背景和字型顏色 0為背景顏色,a為字型顏色 具體顏色可對照下圖 title 設定該批處理的標題 nul 2 nul ...

批處理檔案 bat 編寫

下面記錄一下.bat檔案編寫格式 echo off start echo 請輸入數字選擇下一步操作 echo 1 ip設定為會議室 echo 2 設定為dhcp自動獲取ip set p var if var 1 goto ip1 if var 2 goto ipdhcp ip1 clsnetsh i...

編寫批處理檔案 壓縮

批處理檔案 打包zip 指令的結構 用法 rar 命令 開關 1 開關 n 壓縮檔案 檔案.列表檔案.解壓路徑 例如 rar a df filename rar filename dmp 表示的是,將某個dmp檔案打包為rar.引數說明 a 新增檔案到壓縮檔案中 k 鎖定壓縮檔案 s 產生固體存檔,...