2017-06-05 8 views
0

私は自分で作ろうとしましたが、動作させるには十分な経験がないので、動作しませんでした。ループで10800秒ごとにEnterキーを押す.​​bat(バッチ)ファイルを作成するにはどうすればよいですか?

私が必要とするのは、一度だけクリックするだけで、ループで10800秒(3時間)ごとに「Enter」キーを「シミュレート」します.batファイルです。 10800秒のループ時間でキー 'Enter'をクリックすることを止めて、誰かが私を助けてくれますか! :)

+2

"3時間ごとに"確実にスケジュールされたタスクを要求します... – Stephan

+1

バッチファイルはそうすることができません。おそらくあなたは[AutoIt](http://autoitscript.com)や[AutoHotkey](http://autohotkey.com)に興味がありますか? – aschipfl

+0

ハハ!確かに、Windowsはこれをネイティブに行うことができます...他のツールをインストールする必要はありません – varlogtim

答えて

1

あなたは、VBScriptとのWScriptホストでこれを行うことができます。

保存この "press_enter.vbs" と "WScriptのpress_enter.vbs"

Dim WshShell, FSO, secs 

Set WshShell = WScript.CreateObject("WScript.Shell") 
Set FSO = CreateObject("Scripting.FileSystemObject") 

secs = 10800 
kill_file = "C:\Users\Public\Documents\kill_switch.txt" 

Do While true 
    WScript.Sleep(secs * 1000) ' this is in milliseconds, multiple by 1000 
    WshShell.SendKeys "{ENTER}" 
    if FSO.FileExists(kill_file) then exit do 
Loop 

ようにCLIから実行するように「C:\ Users \ Public \ Documents \ kill_switch.txt」というファイルが存在することが検出されるまで、プログラムは永遠に実行されます。

また、タスクマネージャを開いて「Microsoft Windows 「ベースのスクリプトホスト」の下にリストされます...

"kill_switch.txt"ファイルでアプリケーションを停止した場合は、アプリケーションを再起動する前に削除する必要があります。おそらく、それはタスクマネージャーでそれを殺すことがベストです...

+0

また、もう少しWshShellを調べることができます。あなたはそれで本当に素敵なものをいくつかすることができます。私はそれを使って一連のアプリケーションを開き、データを自動的に入力しました。これは、APIを提供しないレガシーアプリケーションに役立ちます。 – varlogtim

関連する問題