當前位置:成語大全網 - 書法字典 - windows bat腳本怎麽寫?

windows bat腳本怎麽寫?

配料間

妳可以用記事本編輯它。在裏面輸入dos命令。

最後,另存為*。bat格式。

回聲命令

打開或關閉回聲,或顯示信息。如果沒有參數,echo命令將顯示當前的echo設置。

語法

echo【{ on | off }】【消息】

示例:@echo off / echo hello world

在實際應用中,我們將把這個命令和重定向符號(也稱為管道符號,壹般使用》;& gt& gt)組合實現輸入壹。

特定文件的壹些命令。

Rem命令

comment命令,類似於C語言中的/*-*/不會被執行,只是作為壹個註釋,方便其他人閱讀。

您可以在以後修改它。

*還具有rem的功能。

但是,::和rem之間還是有區別的。當echo關閉時,rem和::之後的內容將不會顯示。但是當回聲打開時,雷姆和雷姆

將顯示後面的內容,但::後面的內容仍不會顯示。

遠程消息

示例:@Rem以下是描述。

暫停命令

暫停命令。運行暫停命令時,將顯示以下消息:

按任意鍵繼續...(或者:按任意鍵繼續...)

樣本:

@關閉回聲

:開始

副本G:*。* d:\返回

Echo,請插入另壹張CD...

中止

轉到開始

在本例中,驅動器G中磁盤上的所有文件都被復制到d:\back。顯示的提示提示您放入另壹張CD。

當光盤放入驅動器G時,暫停命令將暫停程序,以便您可以更換光盤,然後按任意鍵繼續處理。

呼叫命令

從壹個批處理程序調用另壹個批處理程序,而不終止父批處理程序。call命令接受。

標簽。如果在腳本或批處理文件外部使用Call,它將無法在命令行上工作。

語法

調用【【驅動器:】【路徑】文件名】【:標簽【參數】】

參數

【驅動器:}【路徑】文件名

指定要調用的批處理程序的位置和名稱。

啟動命令

調用外部程序,所有DOS命令和命令行程序都可以通過start命令調用。

例如:啟動calc.exe打開Windows的計算器。

通用參數:

在分鐘開始時最小化窗口

在單獨的空間啟動16位Windows程序。

高啟動高優先級類別的應用程序。

實時啟動實時優先級類別中的應用程序。

WAIT啟動應用程序並等待它結束。

參數這些是傳遞給命令/程序的參數。

當執行的應用程序是32位GUI應用程序時,CMD.EXE會返回命令提示符,而不等待應用程序終止。如果妳正在點菜

腳本,新的行為將不會發生。

Goto命令

跳躍命令。程序指針跳轉到指定的標簽,並從標簽後的第壹個命令開始繼續執行批處理程序。

語法:goto label(label是壹個參數,它指定批處理程序中要轉到的行。)

樣本:

if {%1}=={}轉到noparms

If {%2} = {} gotonoparms(如果妳不明白這裏的If、%1、%2,先跳過,後面會有詳細解釋。

。)

@Rem檢查參數,如果為空則顯示用法

:無武器

echo用法:monitor.bat ServerIP端口號

轉到結尾

標簽的名稱可以隨意命名,但最好有壹個有意義的字母。在字母前添加壹個符號,表示該字母是壹個標簽goto。

順序基於此:找到下壹步並跳到那裏。妳最好有壹些解釋,這樣別人就會明白妳的意圖。

設置命令

顯示、設置或刪除變量。

顯示變量:set或set s前者顯示批處理中當前定義的所有變量及其值,而後者顯示以s開頭的所有變量和值..

設置變量:set aa=abcd該命令可以將abcd賦給變量aa。如果已經定義了變量aa,則aa的值修改為abcd;如果還沒有定義aa,這個命令可以定義壹個新的變量aa並賦予它壹個初始值abcd。

刪除變量:set aa=該命令可以刪除變量aa。如果已經定義了變量aa,則刪除變量AA;如果沒有定義aa,這個命令是實質性的。

需要註意的是,批處理中的變量是不區分類型的,不需要區分int、float、char等。比如C語言中的變量。例如,在執行set aa=345之後,變量aa的值可以被視為數字345或字符串345。

Set命令具有擴展功能,如交互輸入、字符串處理、數值計算等。,屬於高級命令的範疇。

【編輯此段落】批次符號介紹

回聲屏蔽@

這意味著@後面的命令將不會顯示。在入侵過程中(例如使用批處理格式化敵人的硬盤),自然不能讓對方看到妳使用的命令。

@用法示例:通過運行批處理文件比較pause命令和@pause命令,可以看到@的效果。

使用》》重定向1》;

將輸出信息重定向到指定的設備或文件。默認情況下,系統輸出到顯示器。

如:echo aaaaa & gtA.txt可以將顯示器上顯示的信息aaaaa輸出到文件a.txt中,屏幕上沒有顯示。如果文件a.txt已經存在,該命令將首先擦除a.txt中的所有信息,然後寫入信息aaaaa;如果a.txt不存在,該命令可以創建壹個新的a.txt文件並寫入信息aaaaa。

echo aaaaa & gt& gtA.txt類似於echo aaaaa & gta.txt。不同的是,如果a.txt已經存在,》A.txt將擦除a.txt中的原始內容,而》;& gtA.txt不會刪除原始內容,只是在a.txt文件的末尾添加信息aaaaa。當a.txt不存在時,它們之間沒有區別。

重定向2

將輸入信息源重定向到指定的設備或文件。默認情況下,系統從顯示屏讀取輸入信息。

重定向使用的示例:

=========================================

@關閉回聲

echo abcdefg-這是文件a.txt》中的信息;a.txt

Echo,請輸入任意字符並以回車結束:

set /p ifo=

cls

Echo從屏幕上輸入的信息

回聲百分比ifo%

set/p ifo = & lt;a.txt

通過echo從文件a.txt中獲得的輸入信息

回聲百分比ifo%

暫停& gt空

=========================================

讀者可以通過觀察命令和輸出來了解重定向的功能和效果。

管道符號|

將管道符號前的命令的輸出結果重定向到管道符號後的命令,作為以下命令的輸入。使用格式為:命令_ 1 |命令_2。

管線符號示例:

=========================================

@關閉回聲

echo aaaa & gta.txt

del /p a.txt

中止

=========================================

@關閉回聲

echo aaaa & gta.txt

echo y|del /p a.txt

中止

=========================================

通過比較上述兩個批處理的執行結果,讀者可以了解管道符號的用法和效果。

應該註意的是,在del命令中添加開關/p只是為了讓讀者理解管道符號的用法。實際刪除文件時,可以不使用/p開關來刪除它們。

轉義字符

將特殊符號轉化為通用符號意味著剝離特殊符號的特殊地位。特殊符號指| &;& gt& lt

例如,如果我們要輸出符號“》”,直接使用命令echo》是不行的,必須將其改為echo ^>;。其他特殊符號相似,需要同樣的處理。

轉義字符的示例:

=========================================

@關閉回聲

echo aaaa & gta.txt

回聲,第壹句話,回聲就完了。

回聲aaaa^>;a.txt

回聲,第二句話,回聲完了。

中止

=========================================

比較上面兩個回顯句子,第壹個回顯將信息aaaa輸出到文件a.txt,而第二個回顯顯示AAAA》:a . txt

邏輯命令符號

邏輯命令包括:&;、和。& amp、||

& amp-它的功能是連接N個DOS命令並按順序執行它們,而不管任何命令是否失敗;

& amp& amp-何時& amp;前壹個命令成功執行後,執行&;& amp後面的命令,否則不執行;

|| |-當| |之前的命令失敗時,執行|||之後的命令,否則將不執行該命令。

=========================================

@關閉回聲

回聲^|^|

註冊添加HKCU /v嘗試/f||echo **成功**

reg add hkcu 1/vtry/f | | echo * *失敗* *

回聲^&;^&;

註冊刪除HKCU/v try/f & amp;& amp回聲**成功* *

註冊刪除HKCU/v try/f & amp;& amp回顯**失敗* *

回聲^&;

註冊刪除HKCU/v try/f & amp;回聲**成功* *

註冊刪除HKCU/v try/f & amp;回顯**失敗* *

中止

=========================================

執行reg add或reg delete後,系統會給出執行結果;我們還通過echo命令給出了“執行結果”。將系統給出的結果與我們自己的結果進行比較,不僅可以驗證邏輯命令的判斷機制。

【編輯本段】常見DOS命令解釋

文件夾管理

cd顯示當前目錄名或更改當前目錄。

Md創建壹個目錄。

Rd刪除目錄。

Dir顯示目錄中文件和子目錄的列表。

樹以圖形方式顯示驅動器或路徑的文件夾結構。

Path顯示或設置可執行文件的搜索路徑。

Xcopy復制文件和目錄樹。

文件管理

類型顯示文本文件的內容。

復制將壹個或多個文件復制到另壹個位置。

Del刪除壹個或多個文件。

移動移動文件並重命名文件和目錄。(在Windows XP家庭版中不可用)

任重命名該文件。

替換替換文件。

屬性顯示或更改文件屬性。

查找搜索字符串。

Fc比較兩個文件或兩個文件集並顯示它們之間的差異。

廣播網節目

Ping網絡連接測試和名稱解析。

Ftp文件傳輸

Net網絡命令集和用戶管理

Telnet遠程登錄

Ipconfig顯示和修改TCP/IP設置。

Msg向用戶發送消息。

Arp顯示和修改局域網的IP地址-物理地址映射列表。

系統管理

At計劃命令和程序在特定日期和時間運行。

立即或定期關閉或重新啟動。

茨基爾結束了這個過程

Taskkill結束進程(比tskill更高級,但此命令在WinXPHome版本中不可用)。

任務列表顯示進程列表(在Windows XP家庭版中不可用)。

Sc系統服務設置和控制

Reg註冊表控制臺工具

powercfg控制系統的電源設置

對於上面列出的所有命令,請輸入命令+/?您可以查看該命令的幫助信息。比如find/?

【編輯本段】句子結構解讀

與C語言類似,批處理也有其句子結構。批處理的句子結構主要包括選擇結構(if語句)和循環結構(for語句)。

If語句(選擇結構)

If語句實現條件判斷,包括字符串比較、存在判斷、定義判斷等等。通過條件判斷,if語句可以實現選擇功能。

1,字符串比較

If語句只能判斷兩個字符(字符串)是否相同,順序等等。其命令格式為:

IF【not】string 6 5438+0 compare-op string 2命令1【else命令2】

其中,比較運算符compare-op有以下幾類:

= =-等於

equal等於

NEQ-不等於

less不到

less小於或等於

GTR-大於

GEQ-大於或等於

選擇開關/i不區分大小寫;如果選擇了not項,則判斷結果為邏輯否定。

字符串比較示例:

===============================================

@關閉回聲

set str1=abcd1233

set str2=ABCD1234

If %str1%==%str2%(回顯字符串相同!)else(回顯字符串不壹樣!)

if/I % str 1% LSS % str 2%(echo str1^<;str 2)else(回聲str1^>;=str2)

回聲。

Set /p choice=顯示當前時間?(是/否)

如果/i沒有%choice% EQU n echo當前時間是:%date% %time%

暫停& gt空

===============================================

對於最後壹個if判斷,當我們輸入n或n時,效果是相同的,都不會顯示時間。如果我們取消開關/i,輸入n時仍會顯示時間。

另外請註意幾個細節:1-echo str 1 = str 2;二回聲。。

2.存在判斷

存在判斷的作用是判斷文件或文件夾是否存在。其命令格式為:

如果【不】存在文件名命令1【else命令2】

===============================================

@關閉回聲

如果存在%0回顯文件%0存在!

如果不存在%~df0(

回送文件夾%~df0不存在!

)else echo文件夾%~df0存在!

暫停& gt空

===============================================

註意這裏的幾個地方:

1-存在判斷既可以判斷文件也可以判斷文件夾;

2-%0表示批處理的全名(包括驅動器號、路徑、文件名和擴展名類型)。

3-%~df0是%0的修訂版,僅保留其驅動器號和路徑。有關詳細信息,請參考/?,屬於高級批處理範疇;

4-註意if語句的多行書寫。多行書寫要求command1的左中括號必須與if在同壹行,else必須與command1的右中括號在同壹行,command2的左中括號必須與else在同壹行。command1和command2可以有任意數量的行,即command可以是命令集。

3.定義判斷

定義判斷的作用是判斷變量是否存在,即是否被定義過。其命令格式為:

IF【not】定義的變量命令1【else命令2】

存在判斷的例子:

===============================================

@關閉回聲

set var=111

如果定義了var(echovar = % var %)否則echo var尚未定義!

設置變量=

如果定義了var(echovar = % var %)否則echo var尚未定義!

暫停& gt空

===============================================

比較表明“set var=“可以取消變量並回收變量占用的內存空間。

4、結果判斷

masm %1.asm

如果錯誤級別為1,則暫停。編輯%1.asm

鏈接%1.obj

首先匯編源代碼,如果失敗,停止顯示錯誤信息,按任意鍵後自動進入編輯界面;否則,使用link程序連接生成的obj文件。這個用法是判斷前壹個命令執行後的返回碼(也叫錯誤碼,DOS程序運行後有返回碼)。如果與定義的錯誤代碼匹配(這裏定義的錯誤代碼是1),則執行相應的操作(這裏對應的操作是pause &;編輯%1.asm部分)。

此外,與其他兩種用法壹樣,這種用法也可以表示否定。上述三句話的意思仍以否定的形式表達,代碼變為:

masm %1.asm

如果不是錯誤級別1 link %1.obj

暫停& amp編輯%1.asm

For語句(循環結構)

for語句可以實現類似於C語言中的循環結構,當然for語句的功能更強大壹點,通過不同的開關可以實現更多的功能。for語句有多個開關,不同的開關將實現不同的功能。

1,無開關

不帶開關的for語句可以在設定的範圍內循環,是最基本的for循環語句。其命令格式為:

FOR % %變量IN(set)DO命令

其中% %變量是批處理程序中的書寫格式,在DOS中寫成%變量,即只有壹個百分號(%);Set是我們需要設置的循環範圍,類似於C語言中的循環變量;do之後的命令是循環執行的命令,即循環體。

不帶開關的for語句示例:

===============================================

@關閉回聲

對於% % I in(a,“b c”,d)do echo % % I

暫停& gt空

===============================================

2.開關/L

帶有開關/L的for語句可以根據set中的設置進行循環,從而直接控制循環次數。其命令格式為:

FOR/L % %變量IN(start,step,end)DO命令

其中start是開始計數的初始值,step是每個增量的值,end是結束值。當結束小於開始時,步長需要設置為負數。

帶有開關/L的for語句示例(創建5個文件夾):

===============================================

@關閉回聲

對於/l % % I in(1,2,10),請執行md %%i

中止

===============================================

在上面的示例中,將創建五個新文件夾,文件夾名稱依次為1、3、5、7和9。可以發現%%i的結束值不是end 10的值,而是壹個不大於end的數。

3.開關/關閉

帶有開關/F的for語句具有最強大的功能。它可以操作字符串、返回命令值以及訪問硬盤上的ASCII文件,如txt文檔。其命令格式為:

FOR/F【“options“】% %變量在(set)DO命令中

其中set是(“字符串”、“命令”和文件集)之壹;Options是壹個或多個選項的組合(eol=c,skip=n,delims=xxx,tokens=x,y,m-n,usebackq)。有關每個選項的含義,請參見for /f。壹般來說,skip、tokens和delims是常用的。

帶有開關/F的for語句示例:

===============================================

@關閉回聲

回聲* *無選項:

for/f % % a in(“1,2,10“)do echo a = % % a

^&回聲* *期權代幣;德利姆斯:

for/f“tokens = 1-3 delims =,““% % a in(“1,2,10“)do echo a = % % a b = % % b c = % % c

中止

===============================================

@關閉回聲

Echo該文件夾中的文件有:

for/f“skip = 5 tokens = 3 * delims =“% % a in(‘dir‘)do(

如果不是“% % a“= =“& lt;目錄》如果不是“%%b“= =“字節“如果不是“% % b“= =“可用字節“回顯% % b

)

中止

===============================================

@關閉回聲

Echo該文件夾中的文件有:

dir & gtc:\file.txt

for/f“skip = 5 tokens = 3 * delims =“% % a in(c:\ file . txt)do(

如果不是“% % a“= =“& lt;目錄》如果不是“%%b“= =“字節“如果不是“% % b“= =“可用字節“回顯% % b

)

del c:\file.txt

中止

===============================================

對於後兩個示例,可以刪除選項中的delims= in,因為只要添加了/F開關系統,delims的值就會默認為空格。

符號字符串中的最後壹個字符星號,

那麽在最後壹個符號之後將解析額外的變量。

分配並接受該行的保留文本。在本例中,也可以將其更改為4,但是對於文件名中包含空格的文件,只能顯示空格之前的部分。

同時,我們還看到for語句do後面的命令也可以分支,只要命令的左括號和do在同壹行即可。

4.開關/D或/R

帶有開關/D或/R的for語句是與目錄或文件相關的命令,通常很少使用。帶有開關/R的命令有時用於通過遍歷文件夾來查找文件或文件夾,因此列出了此示例。

帶有開關/R的for語句示例(文件夾遍歷):

===============================================

@關閉回聲

setlocal enabledelayedexpansion

對於/R d: %%i IN(。做(

set dd=%%i

設置“dd=!dd:~0,-1!

回聲!dd!

)

中止

出口

===============================================

持有這壹套訂單,那麽妳就離批量加工專家不遠了!