dポイントプレゼントキャンペーン実施中!

コマンドプロンプト(またはVBScript)で、指定したファイルが開いているかを判別する方法はあるでしょうか?
具体的には、指定した「test.csv」がエクセルで開かれていたら、次の処理を行う、ということを行いたいです。

A 回答 (3件)

かなり雑な方法ですが…もっとスマートな方法があったような気もしますが失念…



対象のファイルをコピーしたのちに、オリジナルのファイルを削除する。
エラーになったら開いている。
エラーにならなかったら開いていないのでコピーから復元する。
    • good
    • 0
この回答へのお礼

ありがとうございます。
errorlevelで判別できることを確認しました。
今回のケースで使用します。

お礼日時:2018/02/05 10:45

こんなふうでどうでしょうか?


バイナリで読もうとしていますから、どのファイルでも可能です。

''VBSでチェック
Const FileName ="C:\Users\Documents\Test.csv"
Set Stream = WScript.CreateObject("ADODB.Stream")
Stream.Open
Stream.Type =1
On Error Resume Next
Stream.LoadFromFile FileName
''File = Stream.Read
If Err.Number >0 Then
MsgBox "使用できません。",16
Else
MsgBox "使用できます。",64
End If
Stream.Close
On Error Goto 0
    • good
    • 1

http://a4dosanddos.hatenablog.com/entry/2015/07/ …

handle.exeでしょうかね。
使ったことはありませんが。

出力結果をパイプラインなりで処理する方向になるかと。
    • good
    • 0
この回答へのお礼

ありがとうございます。handle.exeというのがあるんですね。
今回は使用出来ないですが、今後使ってみます。

お礼日時:2018/02/05 10:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!