2017-12-28 47 views
0

私はあなた自身のアドベンチャーゲームを選択してコーディングしています。私は、プレーヤーが机の上のポスターや文書を見るという選択肢があり、その芸術や文書をデスク上に置いて.jpgファイルを開くと、そのゲームは.jpgを閉じる5秒後にファイルに保存されます。 exit/bとtaskillを使ってバッチを使ってプログラムや.exeを閉じる方法についてたくさんの質問がありましたが、画像ビューアのようなプログラムで開いている特定のファイルを閉じることについては何もありません。私の場合、.jpgはWindowsフォトビューアを使用して開かれています。ウィンドウのタイトルは "BADGE.jpg - Windows Photo Viewer"です。もしゲームが別のコンピュータで再生されると、別のデフォルト画像ビューアがあるかもしれません。だから、どのプログラムに関係なくファイルを閉じる方法が必要ですそれは開いている。バッチを使用して開いている画像ファイルまたは単語の文書を閉じる

以下は私のコードのスニペットです。 - として*- Windows Photo Viewerまたは- IrfanViewまたは別の何かである場合

taskkill /fi "windowtitle eq BADGE.jpg" 

は、重要ではありません:私の問題は

@ECHO OFF 
: START 
CLS 
ECHO THIS IS A TEST PROGRAM TO SHOW THE USER AN IMAGE 
ECHO OR FILE AND THEN CLOSE AFTER 5 SECONDS 
PAUSE >NUL 
GOTO TEST1 

: TEST1 
ECHO PRESS ENTER TO OPEN IMAGE 
ECHO. 
PAUSE 
START "" "%~dp0\BADGE.jpg" 
PING -n 2 0.0.0.0 1>NUL 
exit "%~dp0\BADGE.jpg" 
:: TASKKILL /F /IM BADGE.jpg 
PAUSE 
goto end 


: end 
echo. 
echo IF THE IMAGE CLOSED AFTER 5 SECONDS THEN THIS TEST WAS A SUCCESSFUL 
PAUSE 
GOTO START 
+0

バッチファイルでこれを完全に行うことはできません。 –

+0

ありがとうございます – Slovakolarik

答えて

0

はワイルドカードが許可されている/fiスイッチ(フィルター)を、使用どこにあるのTest1ですウィンドウタイトルは指定されたファイル名で始まるので、長い。

ダウンサイド:それは与えられたウィンドウのタイトルを持つすべてのプロセスを殺すでしょう(それは非常に可能性はないのですが、複数がある)

注:startは別のcmdのウィンドウを起動する - これは必要ありません、だけで使用"%~dp0\BADGE.jpg"の代わりに、デフォルトアプリケーションのjpgが開きます。またexitはうまくいきません。別のプロセスを終了することはできません。常にバッチファイルを終了します。

関連する問題