0

実行中の別のプログラムのバージョンを自動的に検出するバッチ プログラム (Windows 8) をコーディングしています。他の誰かがどこかでプログラムを使用しても、適切に検出できるようにしたいと思います。

バッチファイルにURLからテキストを読み取らせ、それをバッチファイル自体の変数に設定するという解決策を思いつきました。ただし、これを行うには2つの方法しか思いつきませんでした。

テキストはhttp://foo.com/example.htmlから直接ダウンロードできます。私が使用している実際の Web サイトの html コードは次のようになります。

v.1.0.0

これが実際のコードで、書式設定は一切ありません。また、html ファイル自体をダウンロードして、別の形式 (.txt または .xyz) にバッチ変換することもできます。私は外部プログラムを使用したくありません。他の人が私のプログラムを動作させるためにプログラムをインストールする必要はありません。

したがって、本質的に、このページからテキストをダウンロードし、これを実行するこのバッチ ファイルと同じディレクトリに newestversion.adv ファイルとして保存する方法が必要です。ここから、何をすべきかがわかります。他のプログラムはこのバッチ ファイルを呼び出して最新バージョンを取得し、それがプログラムで定義されたバージョンと同じでない場合は、エコー メッセージを送信します。

前もって感謝します!

4

2 に答える 2

1
@ECHO OFF &SETLOCAL
for /f %%a in ('wget -O- http://adventureversionget.6te.net/AdventureVersion.html 2^>nul') do (echo %%a)>newestversion.adv

Windows用wget

于 2013-09-15T16:43:00.347 に答える
0

これは VBS を使用するバッチ ファイルで、ここで動作します。

@echo off
 >"%temp%\geturl.vbs" echo Set objArgs = WScript.Arguments
>>"%temp%\geturl.vbs" echo url = objArgs(0)
>>"%temp%\geturl.vbs" echo pix = objArgs(1)
>>"%temp%\geturl.vbs" echo With CreateObject("MSXML2.XMLHTTP")
>>"%temp%\geturl.vbs" echo .open "GET", url, False
>>"%temp%\geturl.vbs" echo .send
>>"%temp%\geturl.vbs" echo a = .ResponseBody
>>"%temp%\geturl.vbs" echo End With
>>"%temp%\geturl.vbs" echo With CreateObject("ADODB.Stream")
>>"%temp%\geturl.vbs" echo .Type = 1 'adTypeBinary
>>"%temp%\geturl.vbs" echo .Mode = 3 'adModeReadWrite
>>"%temp%\geturl.vbs" echo .Open
>>"%temp%\geturl.vbs" echo .Write a
>>"%temp%\geturl.vbs" echo .SaveToFile pix, 2 'adSaveCreateOverwrite
>>"%temp%\geturl.vbs" echo .Close
>>"%temp%\geturl.vbs" echo End With

cscript /nologo "%temp%\geturl.vbs" http://adventureversionget.6te.net/AdventureVersion.html newestversion.adv 2>nul 
del "%temp%\geturl.vbs"
于 2013-09-16T01:50:31.520 に答える