Saya ingin cara untuk mengunduh file melalui HTTP dengan URL-nya (mirip dengan cara kerja wget). Saya telah melihat jawaban untuk pertanyaan ini, tetapi saya memiliki dua perubahan persyaratan:
Jadi, pada dasarnya, saya ingin skrip .cmd (batch), VBScript, atau skrip PowerShell yang dapat menyelesaikan pengunduhan. Ini bisa menggunakan COM atau memanggil Internet & nbsp; Explorer, tetapi perlu dijalankan tanpa input apa pun, dan harus berperilaku baik ketika dipanggil tanpa tampilan (seperti melalui sesi Telnet).
Saya akan menggunakan BITS (primer):
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.
Dimulai dengan Windows [7, Microsoft menyarankan untuk menggunakan cmdlet PowerShell untuk BITS.
% import-module bitstransfer
% Start-BitsTransfer http://path/to/file C:\Path\for\local\file
Anda juga dapat menggunakan BITS melalui COM, lihat di sini untuk contoh VBScript. Dan ada bitsadmin, sebuah tool commandline untuk mengontrol download:
BITSAdmin is a command-line tool that you can use to create download or
upload jobs and monitor their progress.
Di Windows 7 bitsadmin.exe
menyatakan sendiri bahwa itu adalah alat yang sudah tidak digunakan lagi. Namun demikian:
% bitsadmin.exe /transfer "NAME" http://path/to/file C:\Path\for\local\file
Cobalah kelas Web Client. Ada contoh skrip PowerShell di bagian bawah halaman ini:
$c = new-object system.net.WebClient
$r = new-object system.io.StreamReader $c.OpenRead("http://superuser.com")
echo $r.ReadToEnd()
Salin dan tempelkan enam baris berikut (atau hanya empat baris terakhir) ke dalam file teks. Kemudian ganti namanya menjadi 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
Tentunya Anda perlu menyesuaikan tiga hal dalam skrip ini untuk membuatnya bekerja untuk Anda.
vget.vbs
, jika itu yang Anda sebut.FILE.TXT
yang Anda inginkan agar outputnya diarahkan oleh baris perintah batch DOS.Saya hanya mencoba menggunakan ini untuk mengunduh file teks ASCII mentah (skrip cmd yang lebih kuat) dari akun Dropbox saya, jadi saya tidak tahu apakah ini akan bekerja untuk file EXE, dll.; atau dari webserver lain.
Jika Anda membuang dua baris komentar pertama, panjangnya hanya empat baris. Jika Anda tahu cara menggunakan VBScript Anda bahkan mungkin dapat membawa kode ini di kepala Anda, dan mengetikkannya ke dalam baris perintah sesuai kebutuhan. Ini hanya berisi lima komponen perintah utama: CreateObject
, .Open
, .Send
, WScript.Echo
dan .responseText
.