非標準の(Windowsを含む)ユーティリティを使用せずに、Windowsコマンドラインを使用してダウンロードできますか?
推奨バージョンはWindows XPですが、新しいバージョンについて知ることも興味深いです。
私の質問をさらに明確にするには:
- HTTPを使用する必要があります
- ファイルを保存する必要があります
- 標準のクリーンWindowsインストール、追加のツールなし
だから基本的に、誰もがWgetを叫んでいるので、Wgetを使用せずに、単純なWget機能が必要です。
非標準の(Windowsを含む)ユーティリティを使用せずに、Windowsコマンドラインを使用してダウンロードできますか?
推奨バージョンはWindows XPですが、新しいバージョンについて知ることも興味深いです。
私の質問をさらに明確にするには:
だから基本的に、誰もがWgetを叫んでいるので、Wgetを使用せずに、単純なWget機能が必要です。
回答:
VBScriptを記述して、コマンドラインから実行できます。
ファイルdownloadfile.vbs
を作成し、次のコード行を挿入します。
' Set your settings
strFileURL = "http://www.it1.net/images/it1_logo2.jpg"
strHDLocation = "c:\logo.jpg"
' Fetch the file
Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
objXMLHTTP.open "GET", strFileURL, false
objXMLHTTP.send()
If objXMLHTTP.Status = 200 Then
Set objADOStream = CreateObject("ADODB.Stream")
objADOStream.Open
objADOStream.Type = 1 'adTypeBinary
objADOStream.Write objXMLHTTP.ResponseBody
objADOStream.Position = 0 'Set the stream position to the start
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocation
Set objFSO = Nothing
objADOStream.SaveToFile strHDLocation
objADOStream.Close
Set objADOStream = Nothing
End if
Set objXMLHTTP = Nothing
次のようにコマンドラインから実行します。
cscript.exe downloadfile.vbs
Windows 7以降では、まだ言及されていない簡単な方法が1つあると思います。
構文:
bitsadmin / transfer job_name / download / priority priority URL local \ path \ file
例:
bitsadmin / transfer mydownloadjob / download / priority normal ^ http://example.com/filename.zip C:\ Users \ username \ Downloads \ filename.zip
(^
読みやすくするために(スクロールを避けるために)2つの独立した行に分割されています。)
警告:コメントで指摘したように、bitsadmin
ヘルプメッセージは次のように言って開始します。
BITSAdmin is deprecated and is not guaranteed to be available in future versions of Windows.
Administrative tools for the BITS service are now provided by BITS PowerShell cmdlets.
...しかし、別のコメントでは、Windows 8で動作すると報告されています。
Windows 7にはPowerShellが含まれており、PowerShellでできることはほとんどありません。
cmd
。
powershell -command "& { iwr http://www.it1.net/it1_logo2.jpg -OutFile logo.jpg }"
。また、実行プロンプトから動作します
powershell -command "$clnt = new-object System.Net.WebClient; $clnt.DownloadFile(\"https://host/name\", \"outpufilename\")"
PowerShell(Windows 8に含まれ、以前のリリースの.NETに含まれていた)にはこの機能があります。このpowershell
コマンドを使用すると、コマンドラインまたは.bat
ファイルから任意のPowerShellコマンドを実行できます。したがって、次の行が必要です。
powershell -command "& { (New-Object Net.WebClient).DownloadFile('http://example.com/', 'c:\somefile') }"
方法を見つけましたが、実際にはWgetをインストールするだけです。
コマンドライン(iexplore.exe)からInternet Explorerを使用して、引数としてURLを入力できます。だから、実行:
iexplore.exe http://blah.com/filename.zip
ファイルが何であれ、事前に確認する必要がないことを指定する必要があります。見よ、それは自動的にダウンロードを実行します。そう、それは技術的には可能ですが、良い主君は別の方法でそれをします。
Windows Explorer(Internet Explorerと混同しないでください)はHTTP経由でファイルをダウンロードできます。URLをアドレスバーに入力するだけです。または、コマンドラインから、たとえばC:\windows\explorer.exe http://somewhere.com/filename.ext
。
従来のファイルダウンロードプロンプトが表示されます。ファイルが、Windowsエクスプローラーがインライン表示方法(.html、.jpg、.gif)を認識しているタイプでない場合は、右クリックして保存する必要があります。
Windows XP 2002 SP1の新規インストールのVMwareイメージでこれをテストしたところ、正常に動作します。
FTPを使用します。
コマンドラインから:
ftp ftp.somesite.com
user
password
など。FTPは、覚えているすべてのWindowsバージョンに含まれています。おそらく3.1ではなく、Windows 95でもないかもしれませんが、その後は確かにすべてです。
@RM:他のツールをダウンロードしたくない場合は大雑把になります。コマンドラインが存在するWindows用のWgetとはWgetは、あなたが求めている正確に何をするように設計されては。
次のようにPowerShellを使用します。
download.ps1ファイルを作成します。
param($url, $filename)
$client = new-object System.Net.WebClient
$client.DownloadFile( $url, $filename)
これで、次のようなファイルをダウンロードできます。
powershell Set-ExecutionPolicy Unrestricted
powershell -ExecutionPolicy RemoteSigned -File "download.ps1" "http://somewhere.com/filename.ext" "d:\filename.ext"
Telnetをインストールすると、ファイルをダウンロードするためにサーバーにHTTPリクエストを行うことができると思います。
Cygwinをインストールし、wgetを使用してファイルをダウンロードすることもできます。これは、コマンドラインからファイルをダウンロードする非常に簡単な方法です。
LinuxアプリケーションWgetをWindowsにインストールできます。http://gnuwin32.sourceforge.net/packages/wget.htmからダウンロードできます。その後、コマンドプロンプトでコマンド 'wget(inserturlhere)'または他のURLを発行すると、そのURL /ファイル/イメージをダウンロードできます。
ファイルは以下の方法でダウンロードできます
bitsadmin / transfer wcb / priority high https://sustainabledevelopment.un.org/content/documents/Agenda21.pdf C:\ Program Files(x86)\ Dell Update \ Agenda21.pdf
デフォルトのWindowsでは、HTTP経由でダウンロードできません。WindowsはGUI中心のOSであるため、他のOSに見られるコマンドラインツールの多くが欠けていますwget
。
System.Net.WebClient.DownloadFile()
、WiniNet
APIの関数はファイルをダウンロードできますが、バッチファイルと比較して実際の開発をどこまで進めているかはわかりません。