- ベストアンサー
WSH.Run の処理内容をテキストに落とすには
WSHを利用して、アプリケーションを実行しています。その際の、処理内容(結果)をテキストに落としたいのですが、うまくいきません。どなたか、アドバイスを宜しくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
単純に実行の仕方がまずいだけかと。 CScript スクリプト名 //Nologo >c:\list.txt vbsやjsのファイルを直接起動してるのにWScriptが規定のスクリプトエンジンになってませんか? そんなことをしたくないのであれば、RunメソッドではなくExecメソッドを使い、StdOutを自分でテキストファイルに出力してください。 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/script56/html/wslrfexecmethod.asp
その他の回答 (4)
- ittochan
- ベストアンサー率64% (2667/4137)
FLG ="cmd /c C:\temp\application.exe -ls > list.txt" Set WshShell = CreateObject("WScript.Shell") WshShell.Run FLG ↑みたいにcmdを経由させてみては? コマンドプロンプト ウィンドウを隠したいときは WshShell.Run FLG,0 ってしてね。
- popesyu
- ベストアンサー率36% (1782/4883)
エラーメッセージは出ていないのでしょうか? であれば的外れかもしれませんが、コマンドはバッチファイルに書いてそのバッチファイルをWSHから実行するとどうでしょう。 ってか最初からバッチだけでも良いけど。
- EEshiba
- ベストアンサー率29% (45/152)
どんなアプリケーションで、どんな処理をしているのでしょうか? 基本的に、そのアプリケーションにテキストに落とす機能が無いとダメだと思うのですが?
- popesyu
- ベストアンサー率36% (1782/4883)
どううまくいかないのでしょうか。 ・そもそもファイル生成ができない ・文字化けしてる ・結果が取得できない
補足
説明が足りずにすみませんでした。 下記のような、WSHを実行しています。 FLG ="C:\temp\application.exe -ls -f datafile " Set WSH = CreateObject("WScript.Shell") WSH.stdOut.Run FLG コマンドプロンプトから"application.exe -ls -f datafile"を実行すると、あるデータのリストを表示するので、コマンドプロンプトから"application.exe -ls -f datafile >list.txt"を実行して"list.txt"を生成しています。 同様にWSHからFLG ="C:\temp\application.exe -ls >list.txt"として実行してもテキストが生成されません。 WSH.Runを実行した際に、ログファイルを生成するにはどうしたら良いでしょうか。