【至急】winでの作業の自動化について。

あるファイル(file_a)をダウンロードしたら、関連付けられているA_アプリで処理をして、処理が終わったら変換されたb_fileをB_アプリで開くという処理をしたいと思っています。
(実際にはEDというソフトで暗号化された音声ファイルを、ある復号ソフトで復号し、復号した音声ファイルをWindowsMediaPlayerで再生したいというものです。)

これを自動的にすることはできるのでしょうか?
もし、Aアプリの処理が終わったのを検出することが困難な場合、処理に5秒かかると仮定して「5秒まってから、Bアプリでそのファイルを開く」ということでもかまいません。

できれば、バッチファイルを作って、それを呼び出すだけでAアプリ、Bアプリの処理を自動的にできたらうれしいです。

回答の条件
  • 1人5回まで
  • 登録:2006/09/26 19:52:04
  • 終了:2006/10/03 19:55:49

回答(2件)

id:cutie17 No.1

cutie17回答回数343ベストアンサー獲得回数62006/09/26 21:59:02

ポイント35pt

バッチファイルというかスクリプトを書けば簡単にできると思います。

自分で書けない場合は、他にもこういった自動化ソフトがあります。

http://www.vector.co.jp/vpack/pickup/win/util/operate/index.html

id:iiiiiiiii

ありがとうございます。

2006/09/26 22:08:18
id:llusall No.2

llusall回答回数505ベストアンサー獲得回数612006/09/26 22:57:20

ポイント35pt

WSHでのバッチ処理はいかがでしょうか?

以下サンプルです。

hoge.vbs などのファイル名で保存して、ダブルクリックしてください。

Option Explicit

Const URL = "http://localhost/test.txt" '■ここを変える(ダウンロードURL)

Const DEST = "D:\text.txt" '■ここを変える(保存先のパス・ファイル名)

Const adTypeBinary = 1

Const adSaveCreateOverWrite = 2

Dim xmlHttp

Dim stream

Dim WSHSHell

Dim rc

'----------------------------------------------------------

'ダウンロード(あるファイル(file_a)をダウンロード)

'----------------------------------------------------------

Set xmlHttp = WScript.CreateObject("Msxml2.XMLHTTP")

xmlHttp.Open "GET", URL, False

xmlHttp.Send

Set stream = WScript.CreateObject("Adodb.stream")

stream.Type = adTypeBinary

stream.Open

stream.Write xmlHttp.responseBody

stream.Savetofile DEST, adSaveCreateOverWrite

Set stream  = Nothing

Set xmlHttp = Nothing

'----------------------------------------------------------

'実行1(A_アプリで処理)

'----------------------------------------------------------

Set WSHSHell = WScript.CreateObject("WScript.Shell")

rc = WSHShell.Run("notepad.exe D:\text.txt", 1, True) '■ここを変える

If rc = 0 Then

Else

    Set WSHSHell = Nothing

    MsgBox "ERROR1"

    Wscript.Quit '強制終了

End If

'----------------------------------------------------------

'実行2(変換されたb_fileをB_アプリで開く)

'----------------------------------------------------------

rc = WSHShell.Run("""C:\Program Files\Windows Media Player\wmplayer.exe"" C:\WINNT\clock.avi", 1, True) '■ここを変える

If rc = 0 Then

Else

    Set WSHSHell = Nothing

    MsgBox "ERROR2"

    Wscript.Quit '強制終了

End If

Set WSHSHell = Nothing

MsgBox "おしまい"

id:iiiiiiiii

大変詳細な回答ありがとうございます。

2006/09/27 08:59:43

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません