㈠ android如何通過adb shell 模擬home鍵盤切換應用
1:查看當前模擬器或者Android設備實例的狀態
一般在使用前都會使用adb devices這個命令查看一下模擬器的狀態,通過這個命令得到ADB的回應信息,可以看到ADB作為回應為每個實例制定了相關的信息
1.1:emulator-5554為實例名稱
1.2:device為實例連接狀態,device表示此實例正與adb相連接,offline表示此實例沒有與adb連接或者無法響應
2:安裝和卸載APK應用程序
你可以從電腦上復制一個APK應用到模擬器或者Android設備上,通過adb install <path_to_apk>安裝軟體,adb uninstall <packageName>卸載軟體,如果你不知道這個包名,在AndroidManifest.xml里的找package=""就可以了
2.1: 先把apk文件拷貝到sdk目錄下的tools
2.2: 進入dos下切換到SDK的安裝路徑下的tools目錄
2.3 :執行安裝命令
adb install <path_to_apk>
發生的錯誤,因為我連接了真機,而且也打開了模擬器,所以adb給我的回應信息是「比一個多的驅動設備和模擬器」,我最後關閉掉了模擬器在運行安裝命令,就提示安裝成功了
卸載APK
3:從本機上復制文件到模擬器或者Android設備
adb push <本地路徑><遠程路徑>,<本地路徑>指的是自己的機器上或者模擬器上的目標文件,<遠程路徑>指的是遠程設備實例上的目標文件
4:從模擬器復制文件到模擬器或者Android設備
adb pull <遠程路徑><本地路徑>,<本地路徑>指的是自己的機器上或者模擬器上的目標文件,<遠程路徑>指的是遠程設備實例上的目標文件
5:使用shell命令
輸入adb shell就可以進入shell命令行了,可以使用一些常用的shell命令,如:ls命令列出了文件
㈡ shell 模擬輸入鍵盤指令
(
printfa
sleep5
printfb
)|你要測試的程序
#這是通過pipeline重定向實現的。|是pipeline的意思,兩個括弧是命令組。
㈢ 如何在linux下shell編寫腳本中模擬鍵盤輸入
用 yes 命令
如 yes 123 可以不停的輸出 123,你可以用 yes 123 | head -3 輸出三次。
然後你要是要對某個程序做輸入,你用輸入重定向。
如果你說的是應答,那就用 expect,具體的用法就復雜了,自己搜教程系統地學習吧。
㈣ 高手幫做個批處理模擬鍵盤按鍵
批處理模擬按鍵格式,下面是打開任務管理器
mshta
vbscript:createobject("wscript.shell").sendkeys("+^{esc}")(window.close)
你自己寫那些吧
鍵
參數
退格鍵
{BACKSPACE}、{BS}
或
{BKSP}
BREAK
{BREAK}
CAPS
LOCK
{CAPSLOCK}
DEL或DELETE
{DELETE}
或
{DEL}
向下鍵
{DOWN}
END
{END}
ENTER
{ENTER}
或
~
ESC
{ESC}
HELP
{HELP}
HOME
{HOME}
INS
或INSERT
{INSERT}
或
{INS}
向左鍵
{LEFT}
NUM
LOCK
{NUMLOCK}
PAGE
DOWN
{PGDN}
PAGE
UP
{PGUP}
PRINT
SCREEN
{PRTSC}
向右鍵
{RIGHT}
SCROLL
LOCK
{SCROLLLOCK}
TAB
{TAB}
向上鍵
{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}
鍵
特殊字元
SHIFT
+
CTRL
^
ALT
%
㈤ 請教,shell如何模擬鍵盤輸入字元
舉個例子:
做Docker構建鏡像的練習,寫了下面這個 Dockerfile 文件,其中 yum install tomcat 執行過程中需要用鍵盤輸入兩次字元」y」以便確認選項,Dockerfile 腳本命令如下:
FROM centos
MAINTAINER quicmous "[email protected]"
RUN yes y | head -2 | yum install tomcat -y
RUN echo 'Hi, I am in your container'
EXPOSE 8012345
其中 yes 命令可以無限重復產生其後面的字元」y」,head 命令只選擇其中兩次重復輸入,也就是兩個字元」y」。命令行
yes y | head -2 | yum install tomcat -y
可以自動完成全部操作,中間過程不需要人工干預。
㈥ linux下shell編寫腳本那個能模擬鍵盤輸入的命令
用 yes 命令
如 yes 123 可以不停的輸出 123,你可以用 yes 123 | head -3 輸出三次。
然後你要是要對某個程序做輸入,你用輸入重定向。
如果你說的是應答,那就用 expect,具體的用法就復雜了,自己搜教程系統地學習吧。
㈦ 怎樣使用BAT腳本實現自動按鍵盤的某個鍵
批處理是不行的 用VBS 很簡單 例子如下
Set objShell = CreateObject("Wscript.Shell")
do
WScript.Sleep 3000
objShell.SendKeys "{F5}"
WScript.Sleep 3000
objShell.SendKeys "{F5}"
loop
使用 SendKeys 方法可以將鍵擊發送到無自動化界面的應用程序中。多數鍵盤字元都可用一個鍵擊表示。某些鍵盤字元由多個鍵擊組合而成(例如,CTRL+SHIFT+HOME)。要發送單個鍵盤字元,請將字元本身作為 string 參數發送。例如,要發送字母 x,則請發送 string 參數 "x"。
可使用 SendKeys 同時發送多個鍵擊。為此,可將每個鍵擊按順序排列在一起,以此來創建表示一系列鍵擊的復合字元串參數。例如,要發送鍵擊 a、b 和 c,則需要發送字元串參數 "abc" 。SendKeys 方法將某些字元用作字元的修飾符(而不使用其本身的含義)。這組特殊的字元可包括圓括弧、中括弧、大括弧,以及:
加號 "+"
插入記號 "^"
百分號 "%"
和「非」符號 "~"
用大括弧 "{}" 括起這些字元可以發送它們。例如,要發送加號,請使用字元串參數 "{+}"。SendKeys中使用的中括弧 "[ ]" 無任何特殊含義,但是必須把它們括在大括弧中,以便容納確實要賦予其特殊含義的應用程序(例如,對於動態數據交換 (DDE) 就是這樣)。
要發送左中括弧字元,請發送字元串參數 "{[}";要發送右中括弧字元,請發送字元串參數 "{]}"。
要發送左大括弧字元,請發送字元串參數 "{{}";要發送右大括弧字元,請發送字元串參數 "{}}"。
某些鍵擊不生成字元(如 ENTER 和 TAB)。某些鍵擊表示操作(如 BACKSPACE 和 BREAK)。要發送這些類型的鍵擊,請發送下表中列出的參數:
空格鍵 " "
退格鍵 {BACKSPACE} 或 {BS} 或 {BKSP}
BREAK {BREAK}
DELETE {DELETE} 或 {DEL}
向下鍵 {DOWN}
向上鍵 {UP}
向左鍵 {LEFT}
向右鍵 {RIGHT}
END {END}
ENTER {ENTER} 或 ~
ESC {ESC}
TAB {TAB}
CAPS LOCK {CAPSLOCK}
HELP {HELP}
HOME {HOME}
INSERT {INSERT} 或 {INS}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {PRTSC}
SCROLL LOCK {SCROLLLOCK}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
要發送由常規鍵擊和 SHIFT、CTRL 或 ALT 組合而成的鍵盤字元,請創建表示該鍵擊組合的復合字元串參數。可通過在常規鍵擊之前添加一個或多個以下特殊字元來完成上述操作:
SHIFT +
CTRL ^
ALT %
注意:這樣使用時,不用大括弧括起這些特殊字元。
要指定在按下多個其他鍵時,按下 SHIFT、CTRL 和 ALT 的組合,請創建復合字元串參數,用括弧括起其中的組合鍵。例如,要發送的組合鍵指定:
如果在按 e 和 c 的同時按 SHIFT 鍵,則發送字元串參數 "+(ec)"。
如果在按 e 時只按 c(而不按 SHIFT),則發送字元串參數 "+ec"。
可使用 SendKeys 方法發送一種在一行內重復按鍵的鍵擊。為此,要創建復合字元串參數,以指定要重復的鍵擊,並在其後指定重復次數。可使用 {鍵擊 數字} 形式的復合字元串參數來完成上述操作。例如,如果要發送 10 次 "x",則需要發送字元串參數 "{x 10}"。請確保在鍵擊和數字之間有一個空格。
注意:只可以發送重復按一個鍵的鍵擊。例如,可以發送 10 次 "x",但不可發送 10 次 "Ctrl+x"。
注意:不能向應用程序發送 PRINT SCREEN 鍵 {PRTSC}。
例子1:關機腳本 (模擬按鍵為:Ctrl + Esc、u、u )
把以下代碼復制至記事本,另存為 off.vbs
set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "^{ESC}uu"
例子2:重啟腳本 (模擬按鍵為:Ctrl + Esc、u、r )
把以下代碼復制至記事本,另存為 reboot.vbs
set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "^{ESC}ur"
例子3:切換輸入法 (模擬同時按下:Shift Ctrl )
set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "+(^)"
例子4:輸入 cn-dos.net! 至記事本並保存為 CnDos.txt
Dim WshShell
Set WshShell=WScript.CreateObject("WScript.Shell")
WshShell.Run "notepad"
WScript.Sleep 1500
WshShell.AppActivate "無標題 - 記事本"
WshShell.SendKeys "c"
WScript.Sleep 200
WshShell.SendKeys "n"
WScript.Sleep 200
WshShell.SendKeys "-"
WScript.Sleep 200
WshShell.SendKeys "d"
WScript.Sleep 200
WshShell.SendKeys "o"
WScript.Sleep 200
WshShell.SendKeys "s"
WScript.Sleep 200
WshShell.SendKeys "."
WScript.Sleep 200
WshShell.SendKeys "n"
WScript.Sleep 200
WshShell.SendKeys "e"
WScript.Sleep 200
WshShell.SendKeys "t"
WScript.Sleep 200
WshShell.SendKeys "!"
WScript.Sleep 200
WshShell.SendKeys "%FS"
WScript.Sleep 500
WshShell.SendKeys "C"
WScript.Sleep 200
WshShell.SendKeys "n"
WScript.Sleep 200
WshShell.SendKeys "D"
WScript.Sleep 200
WshShell.SendKeys "o"
WScript.Sleep 200
WshShell.SendKeys "s"
WScript.Sleep 200
WshShell.SendKeys "%S"
WScript.Sleep 500
WshShell.SendKeys "%FX"
例子5:自動定時存檔的記事本(此腳本來自網上)
'第一部分:定義變數和對象
Dim WshShell, AutoSaveTime, TXTFileName
AutoSaveTime=(1000*60*1) '自動存檔時間為1分鍾
Set WshShell=WScript.CreateObject("WScript.Shell")
TXTFileName=InputBox("給文本起名(不能用中文和純數字):")
'第二部分:打開並激活記事本
WshShell.Run "notepad"
WScript.Sleep 200
WshShell.AppActivate "無標題 - 記事本"
'第三部分:用輸入的文件名存檔
WshShell.SendKeys "^s"
WScript.Sleep 300
WshShell.SendKeys TXTFileName
WScript.Sleep 300
WshShell.SendKeys "%s"
WScript.Sleep AutoSaveTime
'第四部分:自動定時存檔
While WshShell.AppActivate (TXTFileName)=True
WshShell.SendKeys "^s"
WScript.Sleep AutoSaveTime
Wend
WScript.Quit
例子:
set objShell = CreateObject("Wscript.Shell")
strCommandLine = "psetup755281.exe" '啟動安裝程序
objShell.Run(strCommandLine)
set WshShell = CreateObject("WScript.Shell")
WScript.Sleep 2000 '延時3秒
WshShell.SendKeys "{ENTER}" '模擬按下回車鍵執行下一步
WScript.Sleep 300 '延時3秒
WshShell.SendKeys "{ENTER}" '模擬按下回車鍵執行下一步
WScript.Sleep 300 '延時3秒
WshShell.SendKeys "{ENTER}" '模擬按下回車鍵執行下一步
WScript.Sleep 5200 '延時3秒
WshShell.SendKeys "{ENTER}" '模擬按下回車鍵執行下一步
WScript.Sleep 300 '延時3秒
WshShell.SendKeys "{ENTER}" '模擬按下回車鍵執行下一步
WScript.Sleep 300 '延時3秒
WshShell.SendKeys "{ENTER}" '模擬按下回車鍵執行下一步
WScript.Sleep 200
WshShell.SendKeys " " '模擬按下空格鍵去除安裝網路超級搜霸一行前的√號
WScript.Sleep 100
WshShell.SendKeys "{TAB}" '模擬按下 Tab 鍵選擇安裝項目
WScript.Sleep 200
WshShell.SendKeys " " '模擬按下空格鍵去除安裝網路超級搜霸一行前的√號
WScript.Sleep 200 '延時0.3秒
WshShell.SendKeys "f" '模擬按下 F鍵同意協議
㈧ 如何用shell腳本代替鍵盤輸入以下組合鍵
單純用shell腳本很難的,建議用expect,這才是linux下互動式腳本的首選。
expect中直接用send發送對應的ASCII碼值就行了。