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

command-line web

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

好ましいバージョンはWindows XPですが、それより新しいバージョンを知っておくのも面白いですね

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

  • HTTPを使用している必要があります
  • ファイルを保存する必要があります
  • 標準的なクリーンなWindowsインストール、余分なツールはありません

だから基本的には、誰もがWgetを叫んでいるので、Wgetを使わずにシンプルなWgetの機能が欲しいのです

  129  Robert Massa  2009-10-23


ベストアンサー

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

54  None  2009-10-23


Windows7から始めると、まだ言われていない方法が一つだけ簡単にできるようになると思います

Syntax:

bitsadmin  /transfer job_name       /download  /priority priority   URL  local\path\file

Example:

bitsadmin  /transfer mydownloadjob  /download  /priority normal  ^
404 - Not Found
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  2011-05-16


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

Windows PowerShell での wget のネイティブ代替?

40  user15130  2009-10-23


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

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

25  Nik  2014-05-29


私はそれを行う方法を見つけましたが、本当に、Wgetをインストールするだけです

コマンドライン(iexplore.exe)からInternet Explorerを使用して、引数にURLを入力します。ということで、実行してみてください

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

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

17  DHayes  2009-10-23


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

典型的なファイルダウンロードのプロンプトが表示されます。ファイルが Windows エクスプローラーでインライン表示が可能なタイプ (.html, .jpg, .gif) でない限り、その場合は右クリックして保存する必要があります

Windows XP 2002 SP1のバージンインストールのVMwareイメージでテストしたところ、問題なく動作しました

13  Chris Noe  2011-08-08


Windows標準のバットで)使えます

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

PowerShell v4が必要なようです

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

7  Anthony O.  2016-05-10


Use FTP.

コマンドラインから

ftp ftp.somesite.com
user
password

などに含まれています。おそらく 3.1 には含まれていないでしょうし、Windows 95には含まれていないかもしれませんが、それ以降のすべてのバージョンには含まれています

@RM: 他のツールをダウンロードしないと荒れそうですね。コマンドラインWget for Windowsが存在し、Wgetはあなたが求めていることを正確に行うように設計されています

6  Satanicpuppy  2009-10-23


こんな感じで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  Thomas Jespersen  2013-04-21


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

bitsadmin /transfer wcb /priority high https://sustainabledevelopment.un.org/content/documents/Agenda21.pdf C:\Program Files (x86)Dell UpdateAgenda21.pdf

2  Mansur Ali  2017-12-16


WinのCMDで(書き込みアクセス権がある場合)

set url=https://www.nsa.org/content/hl-images/2017/02/09/NSA.jpg
set file=file.jpg
certutil -urlcache -split -f %url% %file%
echo Done.

Windowsアプリ内蔵。外部ダウンロードは必要ありません

Win 10でテスト

2  Zimba  2020-04-25


Telnetをインストールすれば、サーバーにHTTPリクエストをしてファイルをダウンロードできるのではないかと想像します

また、Cygwinをインストールし、wgetを使って同様にファイルをダウンロードすることもできます。コマンドラインからファイルをダウンロードする方法です

1  EvilChookie  2009-10-23


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

  1. Cygwinを使用することができます

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

  2. telnetを使えばリクエストはできますが、処理は見られません

  3. batスクリプトやVBSスクリプトを書くことができます

  4. cmd.exeから実行できる独自のプログラムを書く

1  Jesus  2011-08-20


Windows に Linux アプリケーション Wget をインストールすることができます。http://gnuwin32.sourceforge.net/packages/wget.htm からダウンロードできます。その後、コマンドプロンプトでコマンド ‘wget (inserturlhere)’ などの URL を発行すると、その URL/ファイル/画像をダウンロードできるようになります

1  None  2009-10-23


pythonがインストールされている場合、get-pip.pyをウェブから取得する例を以下に示します

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

1  Sipherlab  2014-08-29


デフォルトのWindowsでは、HTTP経由でのダウンロードはできません。WindowsはGUI中心のOSなので、wgetのような他のOSで見られるようなコマンドラインツールが多くありません

System.Net.WebClient.DownloadFile()というWiniNetAPIの関数でファイルをダウンロードすることができますが、実際の開発対バッチファイルにどこまで踏み込んでいるのかがよくわかりません

0  Andrew Scagnelli  2009-10-23


Windows 10 build 17063以降から「Curl」が搭載され、Cmd.exeやPowerShell.exeから直接実行できるようになりました

For example:

C:\>curl.exe -V
curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL
Release-Date: 2017-11-14, security patched: 2019-11-05
Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp
Features: AsynchDNS IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL

ファイルをダウンロードするには

curl.exe -O https://cdn.sstatic.net/Sites/superuser/Img/logo.svg

0  gsl  2020-09-10


タイトルとURLをコピーしました