
- 批處理指令碼教程
- 批處理指令碼 - 首頁
- 批處理指令碼 - 概述
- 批處理指令碼 - 環境
- 批處理指令碼 - 命令
- 批處理指令碼 - 檔案
- 批處理指令碼 - 語法
- 批處理指令碼 - 變數
- 批處理指令碼 - 註釋
- 批處理指令碼 - 字串
- 批處理指令碼 - 陣列
- 批處理指令碼 - 決策
- 批處理指令碼 - 運算子
- 批處理指令碼 - 日期與時間
- 批處理指令碼 - 輸入/輸出
- 批處理指令碼 - 返回程式碼
- 批處理指令碼 - 函式
- 批處理指令碼 - 程序
- 批處理指令碼 - 別名
- 批處理指令碼 - 裝置
- 批處理指令碼 - 登錄檔
- 批處理指令碼 - 網路
- 批處理指令碼 - 列印
- 批處理指令碼 - 除錯
- 批處理指令碼 - 日誌記錄
- 批處理指令碼資源
- 批處理指令碼 - 快速指南
- 批處理指令碼 - 有用資源
- 批處理指令碼 - 討論
批處理指令碼 - 程序
本章將討論批處理指令碼中涉及的各種程序。
檢視正在執行的程序列表
在批處理指令碼中,可以使用 TASKLIST 命令獲取系統中當前正在執行的程序列表。
語法
TASKLIST [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]
序號 | 選項與說明 |
---|---|
1. |
/S system 指定要連線到的遠端系統 |
2. |
/U [domain\]user 指定命令應在其下執行的使用者上下文。 |
3. |
/P [password] 指定給定使用者上下文的密碼。如果省略,則提示輸入。 |
4. |
/M [module] 列出當前正在使用給定 exe/dll 名稱的所有任務。如果未指定模組名稱,則顯示所有已載入的模組。 |
5. |
/SVC 顯示每個程序中託管的服務。 |
6. |
/V 顯示詳細的任務資訊。 |
7. |
/FI filter 顯示與篩選器指定的給定條件匹配的一組任務。 |
8. |
/FO format 指定輸出格式。有效值:“TABLE”、“LIST”、“CSV”。 |
9. |
/NH 指定輸出中不應顯示“列標題”。僅對“TABLE”和“CSV”格式有效。 |
示例
TASKLIST
以上命令將獲取本地系統上所有正在執行的程序的列表。以下是執行以上命令時呈現的輸出快照。從以下輸出可以看到,您不僅可以獲得系統上正在執行的各種程序,還可以獲得每個程序的記憶體使用情況。
Image Name PID Session Name Session# Mem Usage ========================= ======== ================ =========== ============ System Idle Process 0 Services 0 4 K System 4 Services 0 272 K smss.exe 344 Services 0 1,040 K csrss.exe 528 Services 0 3,892 K csrss.exe 612 Console 1 41,788 K wininit.exe 620 Services 0 3,528 K winlogon.exe 648 Console 1 5,884 K services.exe 712 Services 0 6,224 K lsass.exe 720 Services 0 9,712 K svchost.exe 788 Services 0 10,048 K svchost.exe 832 Services 0 7,696 K dwm.exe 916 Console 1 117,440 K nvvsvc.exe 932 Services 0 6,692 K nvxdsync.exe 968 Console 1 16,328 K nvvsvc.exe 976 Console 1 12,756 K svchost.exe 1012 Services 0 21,648 K svchost.exe 236 Services 0 33,864 K svchost.exe 480 Services 0 11,152 K svchost.exe 1028 Services 0 11,104 K svchost.exe 1048 Services 0 16,108 K wlanext.exe 1220 Services 0 12,560 K conhost.exe 1228 Services 0 2,588 K svchost.exe 1276 Services 0 13,888 K svchost.exe 1420 Services 0 13,488 K spoolsv.exe 1556 Services 0 9,340 K
tasklist > process.txt
以上命令獲取 tasklist 顯示的輸出並將其儲存到 process.txt 檔案中。
tasklist /fi "memusage gt 40000"
以上命令只獲取記憶體大於 40MB 的程序。以下是一個可以呈現的示例輸出。
Image Name PID Session Name Session# Mem Usage ========================= ======== ================ =========== ============ dwm.exe 916 Console 1 127,912 K explorer.exe 2904 Console 1 125,868 K ServerManager.exe 1836 Console 1 59,796 K WINWORD.EXE 2456 Console 1 144,504 K chrome.exe 4892 Console 1 123,232 K chrome.exe 4976 Console 1 69,412 K chrome.exe 1724 Console 1 76,416 K chrome.exe 3992 Console 1 56,156 K chrome.exe 1168 Console 1 233,628 K chrome.exe 816 Console 1 66,808 K
終止特定程序
允許執行 Microsoft Windows XP Professional、Windows 2003 或更高版本的使用者透過程序 ID (PID) 或影像名稱從 Windows 命令列終止任務。用於此目的的命令是 TASKKILL 命令。
語法
TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]
序號 | 選項與說明 |
---|---|
1. |
/S system 指定要連線到的遠端系統 |
2. |
/U [domain\]user 指定命令應在其下執行的使用者上下文。 |
3. |
/P [password] 指定給定使用者上下文的密碼。如果省略,則提示輸入。 |
4. |
/FI FilterName 應用篩選器以選擇一組任務。允許使用“*”。例如 imagename eq acme* 參見下面的篩選器以獲取其他資訊和示例。 |
5. |
/PID processID 指定要終止的程序的 PID。使用 TaskList 獲取 PID。 |
6. |
/IM ImageName 指定要終止的程序的影像名稱。萬用字元“*”可用於指定所有任務或影像名稱。 |
7. |
/T 終止指定的程序及其由其啟動的任何子程序。 |
8. |
/F 指定強制終止程序。 |
示例
taskkill /f /im notepad.exe
以上命令將終止開啟的記事本任務(如果已開啟)。
taskill /pid 9214
以上命令將終止程序 ID 為 9214 的程序。
啟動新程序
DOS 指令碼也可以啟動一個全新的程序。這是透過使用 START 命令實現的。
語法
START "title" [/D path] [options] "command" [parameters]
其中
title − CMD 視窗標題欄的文字(必需)。
path − 啟動目錄。
command − 要執行的命令、批處理檔案或可執行程式。
parameters − 傳遞給命令的引數。
序號 | 選項與說明 |
---|---|
1. |
/MIN 最小化啟動視窗 |
2. |
/MAX 最大化啟動視窗。 |
3. |
/LOW 使用 IDLE 優先順序類。 |
4. |
/NORMAL 使用 NORMAL 優先順序類。 |
5. |
/ABOVENORMAL 使用 ABOVENORMAL 優先順序類。 |
6. |
/BELOWNORMAL 使用 BELOWNORMAL 優先順序類。 |
7. |
/HIGH 使用 HIGH 優先順序類。 |
8. |
/REALTIME 使用 REALTIME 優先順序類。 |
示例
START "Test Batch Script" /Min test.bat
以上命令將在新視窗中執行批處理指令碼 test.bat。視窗將以最小化模式啟動,並且標題為“測試批處理指令碼”。
START "" "C:\Program Files\Microsoft Office\Winword.exe" "D:\test\TESTA.txt"
以上命令實際上將在另一個程序中執行 Microsoft Word,然後在 MS Word 中開啟檔案 TESTA.txt。