Ⅰ 批處理 if 不能直接執行多條命令嗎
if 和else 必須處於同一行
要想多行執行可以用標號配合goto語句完成
if exist ddd(goto a)else(goto b)
:a
::這是注釋,這個位置可以放正常語句,上一行是注釋語句(單獨一個冒號是標號的開頭;連續2個冒號是注釋)
goto end
:b
::這是注釋,這個位置可以放正常語句,上一行是注釋語句(單獨一個冒號是標號的開頭;連續2個冒號是注釋)
:end
【注意】需要特別注意的地方就是if else,需要放在同一行,每一個關鍵字使用空格隔開,如:goto、else
格式:
if 條件1 ( goto A ) else ( if 語句2 ( goto B ) else ( goto C ) )
Ⅱ 批處理:打開一個cmd窗口並且執行多條命令行
把多條命令寫入bat或cmd後綴名的腳本文件中,然後運行該腳本即可。
腳本創建方法,打開記事本,輸入內容,另存為,更改後綴名保存。
Ⅲ 批處理怎麼設置多個命令選項比如設置按A執行A命令,按B執行B命令。
@echooff
echoA、執行A命令
echoB、執行B命令
set/pxz=請輸入選擇:
if/i"%xz%"=="A"gotoA
if/i"%xz%"=="B"gotoB
exit
:A
echo這里寫A的相關執行代碼
exit
:B
echo這里寫B的相關執行代碼
exit
Ⅳ 批處理文件中執行多條命令提示符
您好!將前面的start cmd /k去掉即可。代碼如下:
@echooff
ipconfig
java-version
ver
如果要當前窗口執行不需要加上start或者是cmd。
望採納,祝生活愉快!
Ⅳ 如何製作一個批處理打開多個cmd窗口分別執行命令
使用批處理打開多個cmd窗口分別執行命令的方法
一、新建一個txt文本,把文件名稱改成 '.bat'結尾,如:testbat.bat,命令如圖:
1、命令使用start命令打開 cmd窗口,具體參數意義見結尾附錄
2、/K :是讓命令執行完仍然顯示cmd窗口。
3、每個CMD 窗口要運行的命令,用「」標記起來,分行用 &&
三、附start命令的參數說明:
D:>start /?
啟動一個單獨的窗口運行指定的程序或命令。
START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B]
[command/program] [parameters]
"title" 在窗口標題欄中顯示的標題。
path 啟動目錄。
B 啟動應用程序,但不創建新窗口。應用程序已忽略 ^C 處理。
除非應用程序啟用 ^C 處理,否則 ^Break 是唯一可以中斷
該應用程序的方式。
I 新的環境將是傳遞給 cmd.exe 的原始環境,而不是當前環境。
MIN 以最小化方式啟動窗口。
MAX 以最大化方式啟動窗口。
SEPARATE 在單獨的內存空間中啟動 16 位 Windows 程序。
SHARED 在共享內存空間中啟動 16 位 Windows 程序。
LOW 在 IDLE 優先順序類中啟動應用程序。
NORMAL 在 NORMAL 優先順序類中啟動應用程序。
HIGH 在 HIGH 優先順序類中啟動應用程序。
REALTIME 在 REALTIME 優先順序類中啟動應用程序。
ABOVENORMAL 在 ABOVENORMAL 優先順序類中啟動應用程序。
BELOWNORMAL 在 BELOWNORMAL 優先順序類中啟動應用程序。
NODE 將首選非一致性內存結構 (NUMA) 節點指定為十進制整數。
AFFINITY 將處理器關聯掩碼指定為十六進制數字。進程被限制在這些
處理器上運行。
當 /AFFINITY 和 /NODE 結合時,會對關聯掩碼進行不同的解釋。
指定關聯掩碼,正如 NUMA 節點的處理器掩碼正確移動到零位
起始位置一樣。進程被限制在指定關聯掩碼和 NUMA 節點之間的
那些通用處理器上運行。如果沒有通用處理器,則進程被限制在
指定的 NUMA 節點上運行。
WAIT 啟動應用程序並等待它終止。
command/program
如果它是內部 cmd 命令或批文件,則該命令處理器是使用
cmd.exe 的 /K 開關運行的。這表示運行該命令之後,該窗口
將仍然存在。
如果它不是內部 cmd 命令或批文件,則它就是一個程序,並將
作為一個窗口化應用程序或控制台應用程序運行。
parameters 這些是傳遞給 command/program 的參數。
注意: 在 64 位平台上不支持 SEPARATE 和 SHARED 選項。
通過指定 /NODE,可按照利用 NUMA 系統中的內存區域的方式創建進程。例如,
可以創建兩個完全通過共享內存互相通信的進程以共享相同的首選 NUMA 節點,
從而最大限度地減少內存延遲。如有可能,它們即會分配來自相同 NUMA 節點的
內存,並且會在指定節點之外的處理器上自由運行。
啟動 /NODE 1 application1.exe
啟動 /NODE 1 application2.exe
這兩個進程可被進一步限制在相同 NUMA 節點內的指定處理器上運行。在以下
示例中, application1 在節點的兩個低順序處理器上運行,而 application2
在該節點的其後兩個處理器上運行。該示例假定指定節點至少具有四個邏輯
處理器。請注意,節點號可更改為該計算機的任何有效節點號,而無需更改關聯
掩碼。
啟動 /NODE 1 /AFFINITY 0x3 application1.exe
啟動 /NODE 1 /AFFINITY 0xc application2.exe
如果命令擴展被啟用,通過命令行或 START 命令的外部命令
調用會如下改變:
將文件名作為命令鍵入,非可執行文件可以通過文件關聯調用。
(例如,WORD.DOC 會調用跟 .DOC 文件擴展名關聯的應用程序)。
關於如何從命令腳本內部創建這些關聯,請參閱 ASSOC 和
FTYPE 命令。
執行的應用程序是 32-位 GUI 應用程序時,CMD.EXE 不等應用
程序終止就返回命令提示符。如果在命令腳本內執行,該新行為
則不會發生。
如果執行的命令行的第一個符號是不帶擴展名或路徑修飾符的
字元串 "CMD","CMD" 會被 COMSPEC 變數的數值所替換。這
防止從當前目錄提取 CMD.EXE。
如果執行的命令行的第一個符號沒有擴展名,CMD.EXE 會使用
PATHEXT 環境變數的數值來決定要以什麼順序尋找哪些擴展
名。PATHEXT 變數的默認值是: .COM;.EXE;.BAT;.CMD
請注意,該語法跟 PATH 變數的一樣,分號隔開不同的元素。
查找可執行文件時,如果沒有相配的擴展名,看一看該名稱是否
與目錄名相配。如果確實如此,START 會在那個路徑上調用
Explorer。如果從命令行執行,則等同於對那個路徑作 CD /D。
Ⅵ 批處理 for命令後的do,如果要執行多條命令,如何寫
操作對象是什麼。是文件還是程序。舉個例子如果想要分析c: d: e: f: 盤的磁碟碎片。for %di in (c: d: e: f:) do defrag -a %d 執行了四次。或者在鍵入 for /? 回車,查看幫助。也可以用&字元連接要執行的命令。1樓的方法,是很成熟的。。
Ⅶ 批處理 for命令後的do,如果要執行多條命令,如何寫
貌似直接寫命令進就行了吧,沒什麼多餘要求的
比如我要運行關機命令,只需在批處理中寫上下面內容,後面加上參數就行了
@echo
off
shutdown
-s
-t
00
如果你那exp..的也就下面這樣,我不知道你的全命令參數,假設如下
@echo
off
exp....
寫進去保存批處理就行了,如果要修改內容的話直接對著文件右鍵比編輯就行
Ⅷ 編寫BAT批處理時如何連接兩個(或以上)的命令
根據的你描述,待執行的操作有3個,分別對應3條命令
刪除文件 D:1001.EXE —— DEL /F D:1001.exe
刪除文件夾 D:100 —— RDD:100
關機 —— shutdown /s /f /t 0
因為文件D:1001.exe是包含在文件夾D:100當中的,
且它是文件夾D:100當中的唯一的一個文件,所以直接用 我們要執行的操作就是:
刪除目錄D:100及其中所有文件後關機
@echo off
IF existD:1001.EXE (
RD /s /q "D:100" && shutdown /s /f /t 0
)
RD 命令
/s 參數用於刪除目錄樹(包含文件)
/q 參數表示安靜刪除,不要求確認
shutdown 命令
/s 參數 表示 執行關機操作
/f 參數 表示 立即執行,強制性(防止有 "沒有響應" 的進程影響 到關機)
/t 參數 用於 指定關機前應等待的時間,單位秒。不加此參數則默認10秒,0表示0秒則立即執行
&& 符號
連接符,在兩條命令(表達式)之間進行起判判斷作用,
當符號左邊的命令執行成功(表達式結果為"真"),則執行符號右邊的命令(表達式)
批處理實際上就是 預設的「命令」合集
可以根據不同條件執行不同命令,可以將多個命令進行連接(如上),又或者簡單的將每條命令直接寫下後以批處理形式保存,也都完全沒有任何問題。