WindowsでCMDのインスタンスを開き、リターンコードを取得することを知っています
puts %x[Tasklist /v | Find "%tmp:~0,30%" >NUL]
response = $?.exitstatus
それは動作します。
しかし、今度はCMDの非表示インスタンスを開く必要があります。Win32oleモジュールでしか開くことができず、関数「exitstatus」からエラーが送信されます。どうしてか分かりません...
そのインスタンスの終了コードを取得するのを手伝ってください。または、非表示のインスタンスを開く(そして終了コードを取得する)別の方法を教えてください。
require 'win32ole'
shell = WIN32OLE.new('Shell.Application')
shell.ShellExecute('CMD', '/K Tasklist /v | Find "%tmp:~0,30%" >NUL',
'', '', 0)
response = $?.exitstatus
if response == 0
puts "hola"
end
nil: NilClassNoMethodErrorの未定義のメソッド`exitstatus'