HOWTO · Batch
批處理指令碼中的 SendKeys
本教程將討論批處理指令碼中的傳送鍵。
本頁內容
這是一個有趣的話題。在本文中,我們將從批處理指令碼生成按鍵。
為此,我們不需要按鍵盤上的鍵。我們的指令碼將以程式設計方式自動生成按鍵。
我們還將看到一個帶有解釋的示例,以使該主題易於理解。
批處理指令碼中的 SendKeys
下面的示例將開啟一個瀏覽器視窗並按 Tab 鍵在輸入欄位上移動。我們示例的程式碼如下所示。
@if (@CodeSection == @Batch) @then
@echo off
SET SendKeys=CScript //nologo //E:JScript "%~F0"
START chrome -new-window --incognito "https://google.com/"
TIMEOUT /t 3
%SendKeys% "%USERNAME%"
%SendKeys% "{TAB}"
GOTO :EOF
@end
// JScript section
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.SendKeys(WScript.Arguments(0));0
在上面的例子中,通過 SET SendKeys=CScript //nologo //E:JScript "%~F0"這一行,我們使用%SendKeys%將鍵傳送到鍵盤緩衝區。此指令碼將開啟一個瀏覽器視窗。
通過 TIMEOUT /t 3 這一行,我們設定了一個計時器來等待網路載入。我們使用 Tab 鍵在不同的欄位上移動。
因此,我們將按下 Tab 鍵來移動批處理指令碼中的欄位。記住,這個例子是 JScript 的組合。
JScript 是 Microsoft 的 Internet Explorer 中使用的舊版 ECMAScript 方言。
一些重要的鍵
| 鍵 | 程式碼 |
|---|---|
| BACKSPACE | {BACKSPACE}, {BS}, or {BKSP} |
| BREAK | {BREAK} |
| CAPS LOCK | {CAPSLOCK} |
| DEL or DELETE | {DELETE} or {DEL} |
DOWN ARROW |
{DOWN} |
| END | {END} |
| ENTER | {ENTER} or ~ |
| ESC | {ESC} |
| HELP | {HELP} |
| HOME | {HOME} |
| INS or INSERT | {INSERT} or {INS} |
LEFT ARROW |
{LEFT} |
| NUM LOCK | {NUMLOCK} |
| PAGE DOWN | {PGDN} |
| PAGE UP | {PGUP} |
| PRINT SCREEN | {PRTSC} |
RIGHT ARROW |
{RIGHT} |
| SCROLL LOCK | {SCROLLLOCK} |
| TAB | {TAB} |
UP ARROW |
{UP} |
| F1 | {F1} |
| F2 | {F2} |
| F3 | {F3} |
| F4 | {F4} |
| F5 | {F5} |
| F6 | {F6} |
| F7 | {F7} |
| F8 | {F8} |
| F9 | {F9} |
| F10 | {F10} |
| F11 | {F11} |
| F12 | {F12} |
| F13 | {F13} |
| F14 | {F14} |
| F15 | {F15} |
| F16 | {F16} |