2011-08-02 6 views
1

私は、コマンドプロンプトで実行しているいくつかのバッチファイルがあるので、私は「終了」コマンドを使用することはできません system("start cmd.exe")Rubyのコマンドプロンプトウィンドウを閉じるには?

を使用して、私のRubyスクリプトで開いたコマンドプロンプトウィンドウを閉じる必要があり、私はそのウィンドウを終了する必要がありますコマンドプロンプトを閉じます。

窓を閉める手助けをしてください。

答えて

2

私のような何かをしたい:

cmdprompt = Process.spawn 'start cmd.exe' # open prompt 
Process.kill 9, cmdprompt     # close it 

それはしかし、Windowsのために働くわけではありません確認してください。

require 'rubygems' 
require 'win32/process' 
cmdprompt = Process.create(:app_name => 'cmd') # open 
Process.kill 9, cmdprompt.process_id    # close 

私はそれをテストする能力を持っていないが、それは仕事shoul思う:

宝石Windows上で外部プロセスを処理する能力を提供しwin32-processがあり、これを試してみてください。

+0

いいえ、Windowsで動作していない、私は別の方法を提案することができます – wani

+0

それはまだ動作していない、スクリプトは 'process.kill 9、cmdprompt' C:\ Documents and Settings \ xsat314 \ Desktop> eval):3: 'call ':Structured :: ProcessInfoをInteger(TypeError)に変換できません \t from(eval):3:OpenProcessで \t C:/ Ruby/liby/gems/1.8/gems/win32-process-0.5.3/lib/win32/process.rb:143: 'kill ' \t from C:/Ruby/lib/ruby/gems/1.8/gems/win32-process-0.5。 3/lib/win32/process.rb:132: 'each ' \t C:/Ruby/lib/ruby/gems/1.8/gems/win32-process-0.5.3/lib/win32/process.rbから: 132: 'kill 'で – wani

+0

@wani:try replace' Process.kill 9、cmdpromptを 'Process.kill 9、cmdprompt.process_id'で置き換えます。 –

関連する問題