2015-03-02 37 views
0

我目前試圖在打開一個命令提示符批處理文件工作,一旦打開命令提示符開始模擬打字,這裏是我迄今爲止 編碼:Windows 7的命令提示符下一批屏幕上模擬輸入

@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我的例子中

+0

如何添加sp高手? 'set/p「= %% i」 Stephan 2015-03-02 17:49:05

+0

我搞砸了我的編碼,讓我快速修復它,我嘗試了你的建議,並增加了空間,它只是讓這個詞出現,不要單獨做這些字母,如果我添加像(H ellohowareyou)這樣的空格,它也會間隔字母。 – planelover390 2015-03-02 17:55:31

+0

例如:https://gist.github.com/davidruhmann/6073962 – 2015-03-02 18:46:03

回答

0

複製: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 
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.

相關問題