37

左矢印キーと右矢印キーを n 回自動的に押して間に一時停止できるバッチ ファイルを開発しようとしています。誰でもこれで私を助けてもらえますか?

PS: 自動キーボード ソフトウェアをインストールしようとしましたが、仕事中だったのでインストールできませんでした。オフィスの PC で動作するには、このプログラムが必要です。

4

2 に答える 2

61

わお!これは、キーボードに 2 つのキーを送るためだけに別のプログラミング言語を学ばなければならないということですか? 同じことを達成するためのより簡単な方法があります。:-)

以下のバッチ ファイルは、別のプログラム (この場合は cmd.exe) を起動し、それにコマンドを送信してから上矢印キーを送信し、最後に実行されたコマンドを復元する例です。バッチ ファイルは問題なく理解できるほど単純なので、必要に応じて変更することができます。

@if (@CodeSection == @Batch) @then


@echo off

rem Use %SendKeys% to send keys to the keyboard buffer
set SendKeys=CScript //nologo //E:JScript "%~F0"

rem Start the other program in the same Window
start "" /B cmd

%SendKeys% "echo off{ENTER}"

set /P "=Wait and send a command: " < NUL
ping -n 5 -w 1 127.0.0.1 > NUL
%SendKeys% "echo Hello, world!{ENTER}"

set /P "=Wait and send an Up Arrow key: [" < NUL
ping -n 5 -w 1 127.0.0.1 > NUL
%SendKeys% "{UP}"

set /P "=] Wait and send an Enter key:" < NUL
ping -n 5 -w 1 127.0.0.1 > NUL
%SendKeys% "{ENTER}"

%SendKeys% "exit{ENTER}"

goto :EOF


@end


// JScript section

var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.SendKeys(WScript.Arguments(0));

SendKeys のキー名のリストについては、http://msdn.microsoft.com/en-us/library/8c6yea83(v=vs.84).aspx を参照して ください。

例えば:

LEFT ARROW    {LEFT}
RIGHT ARROW   {RIGHT}

このソリューションの詳細については、以下を参照してください。GnuWin32 openssl s_client conn to WebSphere MQ server not close at EOF, hangs

于 2013-06-11T17:24:43.433 に答える