URLを指定して、HTTP経由でファイルをダウンロードする方法が欲しいです(wgetの動作に似ています)。この質問]1の回答を見ましたが、要件に2つの変更があります。
つまり、基本的には、ダウンロードを実行できる.cmd(バッチ)スクリプト、VBScript、またはPowerShellスクリプトが欲しいのです。COM]4を使ったり、Internet Explorerを起動することもできますが、何も入力せずに実行する必要があり、ディスプレイなしで起動した場合(Telnetセッションなど)にもうまく動作する必要があります。
Background Intelligent Transfer Service (BITS) is a component of modern
Microsoft Windows operating systems that facilitates prioritized,
throttled, and asynchronous transfer of files between machines using
idle network bandwidth.
Windows 7から、MicrosoftはBITSにPowerShellコマンドレットを使用するように助言しています。
% import-module bitstransfer
% Start-BitsTransfer http://path/to/file C:\Path\for\local\file
また、BITSをCOM経由で使用することもできます。VBScriptの例についてはこちらを参照してください。また、ダウンロードを制御するためのコマンドラインツールである 'bitsadmin' もあります。
BITSAdmin is a command-line tool that you can use to create download or
upload jobs and monitor their progress.
Windows 7では、bitsadmin.exe
は、それが非推奨のツールであることを自ら述べています。それにもかかわらず。
% bitsadmin.exe /transfer "NAME" http://path/to/file C:\Path\for\local\file
以下の6行(または最後の4行だけ)をテキストファイルにコピー&ペーストします。 その後、名前を vget.vbs
に変更してください。
'cscript vget.vbs >FILE.TXT
'Run this vbscript at command line. Use above syntax to download/create FILE.TXT
Set oX = CreateObject("Microsoft.XmlHTTP")
oX.Open "GET", "http://www.exampleURL.com/FILE.TXT", False
oX.Send ""
WScript.Echo oX.responseText
明らかに、このスクリプトを自分のものにするためには、3つの点をカスタマイズする必要があります。
1.1. "http://www.exampleURL.com/FILE.TXT"と書かれている部分。ダウンロードしたいファイルの正しいURLを代入する必要があります。
2.このスクリプトを実行するためにコマンドラインで実行するコマンドです。スクリプトの名前が vget.vbs
であれば、正しい名前を指定する必要があります。
3.3. DOSバッチのコマンドラインで出力させたい FILE.TXT
という名前。
私はこれを自分のDropboxアカウントから生のASCIIテキストファイル(より強力なcmdスクリプト)をダウンロードするのにしか使ってみていないので、EXEファイルなどや他のウェブサーバーからのダウンロードに使えるかどうかはわかりません。
最初の2つのコメント行を除いても、4行しかありません。VBScript]3の知識があれば、このコードを頭の中に入れておいて、必要に応じてコマンドラインに入力することもできるかもしれません。 このコードには5つの重要なコマンドコンポーネントしか含まれていません。それは、CreateObject
、.Open
、.Send
、WScript.Echo
、.responseText
です。