windows在執行Bat後,如何保留視窗

2021-08-28 20:07:54 字數 4498 閱讀 5771

windows中cmd輸入cmd /?後的幫助資訊

啟動 windows 命令直譯器的乙個新例項

cmd [/a | /u] [/q] [/d] [/e:on | /e:off] [/f:on | /f:off] [/v:on | /v:off]

[[/s] [/c | /k] string]

/c 執行字串指定的命令然後終止

/k 執行字串指定的命令但保留

/s 修改 /c 或 /k 之後的字串處理(見下)

/q 關閉回顯

/d 禁止從登錄檔執行 autorun 命令(見下)

/a 使向管道或檔案的內部命令輸出成為 ansi

/u 使向管道或檔案的內部命令輸出成為

unicode

/t:fg 設定前台/背景顏色(詳細資訊見 color /?)

/e:on 啟用命令擴充套件(見下)

/e:off 禁用命令擴充套件(見下)

/f:on 啟用檔案和目錄名完成字元(見下)

/f:off 禁用檔案和目錄名完成字元(見下)

/v:on 使用 ! 作為分隔符啟用延遲的環境變數

擴充套件。例如,/v:on 會允許 !var! 在執行時

擴充套件變數 var。var 語法會在輸入時

擴充套件變數,這與在乙個 for

迴圈內不同。

/v:off 禁用延遲的環境擴充套件。

注意,如果字串加有引號,可以接受用命令分隔符 "&&"

分隔多個命令。另外,由於相容性

原因,/x 與 /e:on 相同,/y 與 /e:off 相同,且 /r 與

/c 相同。任何其他開關都將被忽略。

如果指定了 /c 或 /k,則會將該開關之後的

命令列的剩餘部分作為乙個命令列處理,其中,會使用下列邏輯

處理引號(")字元:

1. 如果符合下列所有條件,則會保留

命令列上的引號字元:

- 不帶 /s 開關

- 正好兩個引號字元

- 在兩個引號字元之間無任何特殊字元,

特殊字元指下列字元: &<>()@^|

- 在兩個引號字元之間至少有

乙個空格字元

- 在兩個引號字元之間的字串是某個

可執行檔案的名稱。

2. 否則,老辦法是看第乙個字元

是否是引號字元,如果是,則去掉首字元並

刪除命令列上最後乙個引號,保留

最後乙個引號之後的所有文字。

如果 /d 未在命令列上被指定,當 cmd.exe 開始時,它會尋找

以下 reg_sz/reg_expand_sz 登錄檔變數。如果其中乙個或

兩個都存在,這兩個變數會先被執行。

hkey_local_machine\software\microsoft\command processor\autorun

和/或hkey_current_user\software\microsoft\command processor\autorun

命令擴充套件是按預設值啟用的。你也可以使用 /e:off ,為某一

特定呼叫而停用擴充套件。你

可以在機器上和/或使用者登入會話上

啟用或停用 cmd.exe 所有呼叫的擴充套件,這要通過設定使用

regedit.exe 的登錄檔中的乙個或兩個 reg_dword 值:

hkey_local_machine\software\microsoft\command processor\enableextensions

和/或hkey_current_user\software\microsoft\command processor\enableextensions

到 0x1 或 0x0。使用者特定設定

比機器設定有優先權。命令列

開關比登錄檔設定有優先權。

在批處理檔案中,setlocal enableextensions 或 disableextensions 引數

比 /e:on 或 /e:off 開關有優先權。請參閱 setlocal /? 獲取詳細資訊。

命令擴充套件包括對下列命令所做的

更改和/或新增:

del or erase

color

cd or chdir

md or mkdir

prompt

pushd

popd

setsetlocal

endlocal

iffor

call

shift

goto

start (同時包括對外部命令呼叫所做的更改)

assoc

ftype

有關特定詳細資訊,請鍵入 commandname /? 檢視。

延遲環境變數擴充套件不按預設值啟用。你

可以用/v:on 或 /v:off 開關,為 cmd.exe 的某個呼叫而

啟用或停用延遲環境變數擴充套件。你

可以在機器上和/或使用者登入會話上啟用或停用 cmd.exe 所有

呼叫的延遲擴充套件,這要通過設定使用 regedit.exe 的登錄檔中的

乙個或兩個 reg_dword 值:

hkey_local_machine\software\microsoft\command processor\delayedexpansion

和/或hkey_current_user\software\microsoft\command processor\delayedexpansion

到 0x1 或 0x0。使用者特定設定

比機器設定有優先權。命令列開關

比登錄檔設定有優先權。

在批處理檔案中,setlocal enabledelayedexpansion 或 disabledelayedexpansion

引數比 /v:on 或 /v:off 開關有優先權。請參閱 setlocal /?

獲取詳細資訊。

如果延遲環境變數擴充套件被啟用,

驚嘆號字元可在執行時間被用來

代替乙個環境變數的數值。

你可以用 /f:on 或 /f:off 開關為 cmd.exe 的某個

呼叫而啟用或禁用檔名完成。你可以在計算上和/或

使用者登入會話上啟用或禁用 cmd.exe 所有呼叫的完成,

這可以通過使用 regedit.exe 設定登錄檔中的下列

reg_dword 的全部或其中之一:

hkey_local_machine\software\microsoft\command processor\completionchar

hkey_local_machine\software\microsoft\command processor\pathcompletionchar

和/或hkey_current_user\software\microsoft\command processor\completionchar

hkey_current_user\software\microsoft\command processor\pathcompletionchar

由乙個控制字元的十六進製制值作為乙個特定引數(例如,0x4

是ctrl-d,0x6 是 ctrl-f)。使用者特定設定優先於機器設定。

命令列開關優先於登錄檔設定。

如果完成是用 /f:on 開關啟用的,兩個要使用的控制符是:

目錄名完成用 ctrl-d,檔名完成用 ctrl-f。要停用

登錄檔中的某個字元,請用空格(0x20)的數值,因為此字元

不是控制字元。

如果鍵入兩個控制字元中的乙個,完成會被呼叫。完成功能將

路徑字串帶到游標的左邊,如果沒有萬用字元,將萬用字元附加

到左邊,並建立相符的路徑列表。然後,顯示第乙個相符的路

徑。如果沒有相符的路徑,則發出嘟嘟聲,不影響顯示。之後,

重複按同乙個控制字元會迴圈顯示相符路徑的列表。將 shift

鍵跟控制字元同時按下,會倒著顯示列表。如果對該行進行了

任何編輯,並再次按下控制字元,儲存的相符路徑的列表會被

丟棄,新的會被生成。如果在檔案和目錄名完成之間切換,會

發生同樣現象。兩個控制字元之間的唯一區別是檔案完成字元

符合檔案和目錄名,而目錄完成字元只符合目錄名。如果檔案

完成被用於內建式目錄命令(cd、md 或 rd),就會使用目錄

完成。用引號將相符路徑括起來,完成**可以正確處理含有空格

或其他特殊字元的檔名。同時,如果備份,然後從行內呼叫

檔案完成,完成被呼叫時位於游標右方的文字會被呼叫。

需要引號的特殊字元是:

(){}^=;!'+,`~(&()

需求是:如果配置了nginx.bat,且後續可以執行"nginx -s quit"等命令,需要保留cmd視窗。

具體

@echo off

cd /d "d:\mysoft\nginx-1.13.12"

cmd /k start nginx.exe

結束。

Windows編寫bat執行檔案

1 建立txt檔案 rem nping用來測試ip位址的連通性 rem nping tcp p 80 flags rst ttl 2 192.168.1.1 date 2 重新命名為bat檔案 3 建立自動化執行任務。詳細的bat編寫幫助如下 有關某個命令的詳細資訊,請鍵入 help 命令名 ass...

windows中bat執行python指令碼

1.首先建立乙個text檔案,字尾命名為bat儲存就可以了 2.滑鼠右鍵編輯bat檔案,然後在裡面寫執行語句 echo off e cd e pythonautotest script python mysql change.py pause exit 我這裡是把python指令碼放到了e pyth...

Windows編寫bat執行檔案

1 建立txt檔案 rem nping用來測試ip位址的連通性 rem nping tcp p 80 flags rst ttl 2 192.168.1.1 date 2 重新命名為bat檔案 3 建立自動化執行任務。詳細的bat編寫幫助如下 有關某個命令的詳細資訊,請鍵入 help 命令名 ass...