web-dev-qa-db-ja.com

Windowsのコマンドラインを使用してダウンロードすることは可能ですか?

非標準の(Windowsを含む)ユーティリティを使用せずに、Windowsのコマンドラインを使用してダウンロードすることは可能ですか?

推奨されるバージョンはWindows XPですが、新しいバージョンを知るのも興味深いです。

私の質問をさらに明確にするために:

  • HTTPを使用している必要があります
  • ファイルを保存する必要があります
  • 標準のクリーンWindowsインストール、追加ツールなし

だから基本的に、誰もが叫んでいるのでWget、私はWgetを使わずに単純なWget機能が欲しい。

122
Robert Massa

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 
51
Igor

Windows 7以降、まだ言及されていない単一の方法があると思います。それは簡単です。

構文:

bitsadmin/transfer 職種名       /ダウンロード/優先度 優先度URLローカル\パス\ファイル

例:

bitsadmin /転送mydownloadjob /ダウンロード/優先度標準^ 
 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上で動作すると報告されています。

74
timeshift

Windows 7にはPowerShellが含まれており、PowerShellではできないことはほとんど何もありません。

Windows PowerShellでwgetに代わるネイティブな方法は?

39
user15130

PowerShell(Windows 8に含まれ、以前のリリースでは.NETに含まれていたもの)にこの機能があります。 powershellコマンドを使用すると、コマンドラインまたは.batファイルから任意のPowerShellコマンドを実行できます。したがって、次の行が欲しいものです。

powershell -command "& { (New-Object Net.WebClient).DownloadFile('http://example.com/', 'c:\somefile') }"
25
Nik

やり方を見つけましたが、実際には、 Wget をインストールするだけです。

Internet Explorerをコマンドライン(iexplore.exe)から使用して、引数としてURLを入力することができます。だから、実行します:

iexplore.exe http://blah.com/filename.Zip

ファイルが何であれ、事前に確認する必要がないことを指定する必要があります。見て、それは自動的にダウンロードを実行します。そうです、それは技術的には可能ですが、善主は別の方法でそれを行います。

17
DHayes

Windowsエクスプローラ (Internet Explorerと混同しないでください)は、HTTPを介してファイルをダウンロードできます。アドレスバーにURLを入力するだけです。またはコマンドラインから、たとえばC:\windows\Explorer.exe http://somewhere.com/filename.ext

あなたは古典的なFile DownloadPromptを得ます。ファイルが、インライン表示方法(.html、.jpg、.gif)を認識しているファイルである場合を除き、その場合は右クリックしてファイルを保存する必要があります。

私はちょうどこれを私の VMware Windows XP 2002 SP1のバージンインストールのイメージでテストしました、そしてそれはうまく働きます。

12
Chris Noe

あなたは(標準的なWindowsのバットで)使用することができます:

powershell -command "& { iwr http://www.it1.net/it1_logo2.jpg -OutFile logo.jpg }"

それはPowerShell v4を必要とするようです...

そのコメント とこの おかげで ))

7
Anthony O.

FTPを使用してください。

コマンドラインから:

ftp ftp.somesite.com
user
password

fTPは私が覚えていることができるすべてのWindowsバージョンに含まれています。おそらく3.1にはなく、 Windows 95 にはないかもしれませんが、それ以降は間違いなくすべてです。

@ RM:あなたが他のツールをダウンロードしたくないのであれば、それはラフになるでしょう。 Windows用のコマンドライン Wget および Wget は、要求したとおりに動作するように設計されています。

6
Satanicpuppy

このようにPowerShellを使用してください。

  1. Download.ps1ファイルを作成します。

    param($url, $filename)
    $client = new-object System.Net.WebClient 
    $client.DownloadFile( $url, $filename)
    
  2. 今、あなたはこのようなファイルをダウンロードすることができます:

    powershell Set-ExecutionPolicy Unrestricted
    powershell -ExecutionPolicy RemoteSigned -File "download.ps1" "http://somewhere.com/filename.ext" "d:\filename.ext"
    
4

以下の方法でファイルをダウンロードできます

bitsadmin/transfer wcb/priority priority https://sustainabledevelopment.un.org/content/documents/Agenda21.pdf C:\ Program Files(x86)\Dellアップデート\ Agenda21.pdf

1
Mansur Ali

あなたがTelnetをインストールするならば、私はあなたがファイルをダウンロードするためにサーバにHTTP要求をすることができると思います。

Cygwin をインストールし、 wget を使ってファイルをダウンロードすることもできます。これはコマンドラインからファイルをダウンロードする非常に簡単な方法です。

1
EvilChookie

WindowsにLinuxアプリケーションのWgetをインストールできます。それは、 http://gnuwin32.sourceforge.net/packages/wget.htm からダウンロードできます。コマンドプロンプトで 'wget(inserturlhere)'または他の URL コマンドを発行すると、そのURL /ファイル/イメージをダウンロードできます。

1
Jamie

Windowsのコマンドラインを使用してダウンロードできる方法はいくつかあります。

  1. あなたは Cygwin を使うことができます。

    注:含まれているアプリはネイティブのLinuxアプリではありません。 Windowsで実行したい場合は、アプリケーションをソースから再構築する必要があります。

  2. Telnetを使って要求を出すことは可能ですが、処理は行われません。

  3. あなたはバットやVBSスクリプトを書くことができます。

  4. Cmd.exeから実行できるあなた自身のプログラムを書きなさい。

1
Jesus

あなたがpythonをインストールしているのであれば、これはウェブからget-pip.pyを取得する例です。

python -c "import urllib; urllib.urlretrieve ('https://bootstrap.pypa.io/get-pip.py', r'C:\python27\Tools\get-pip.py')"
0
Sipherlab

デフォルトのWindowsでは、HTTP経由でダウンロードすることはできません。 WindowsはGUI中心のOSなので、他のOSに見られるようなコマンドラインツールの多くが欠けています。例えばwgetが一番の候補です。

WiniNet APIの関数であるSystem.Net.WebClient.DownloadFile()はファイルをダウンロードすることができますが、実際の開発とバッチファイルの比較がどの程度進んでいるかはわかりません。

0