簡體   English   中英

Windows 7命令提示符批量屏幕模擬鍵入

[英]Windows 7 command prompt batch onscreen simulated typing

我目前正在嘗試打開一個打開命令提示符的批處理文件,一旦打開命令提示符開始模擬打字,這是我到目前為止的編碼:

@echo off 
setlocal 
for %%i in (H e l l o  H o w  A r e  y o u) do ( 
    set /p "=%%i"<nul 
    ping 169.254.0.0 -n 1 -w 500 >nul 
) 
echo; 
goto :EOF

我遇到的問題是,我只能做一個單詞,當我啟動命令提示符時它開始輸入它,就像這個HelloHowAreYou我需要分開的單詞,有什么我可以做的嗎? 哦,我也在Windows 7上

我的例子來自Gist: https ://gist.github.com/davidruhmann/6073962,因為OP無法訪問GitHub.com

@echo off
call :Typing "hello world!"
exit /b 0

:: Use a known invalid reserved IP address because it should always timeout.
:: http://en.wikipedia.org/wiki/Reserved_IP_addresses
:: 127.0.0.1 will never timeout and will always return each tick in 1 second.
:Typing <Message>
setlocal
set "Message=%~1"
:TypingLoop
ping 192.0.2.0 -n 1 -w 500 >nul
if "%Message:~1,1%"==" " ( <nul set /p "=%Message:~0,2%" ) else ( <nul set /p "=%Message:~0,1%" )
set "Message=%Message:~1%"
if defined Message goto TypingLoop
endlocal
exit /b 0

這適用於Windows-XP:

@echo off 
setlocal 
for %%i in (H e l l o " " H o w " " A r e " " y o u) do ( 
    set /p "=%%~i"<nul 
    ping 169.254.0.0 -n 1 -w 500 >nul 
) 
echo; 
goto :EOF

但是,在較新的Windows版本中, set /P命令會消除前導空格,因此如果此方法適用於Windows 7,我並不感到害羞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM