Я пытаюсь загрузить файл с веб-сайта (например, http://www.example.com/package.zip ) с помощью командного файла Windows. Я получаю код ошибки, когда пишу функцию ниже:
xcopy /E /Y "http://www.example.com/package.zip"
Пакетному файлу не нравится "/" после http. Есть ли способы избежать этих символов, чтобы не предполагать, что они являются параметрами функции?
windows
batch-file
download
scripting
Джеймс
источник
источник
Ответы:
С PowerShell 2.0 (предустановленная Windows 7) вы можете использовать:
Начиная с PowerShell 3.0 (предустановлена Windows 8), вы можете использовать
Invoke-WebRequest
:Из командного файла они называются:
(PowerShell 2.0 доступен для установки в XP, 3.0 для Windows 7)
источник
.bat
и.ps1
файлы может действительно испортить ваши вещи.Есть стандартный компонент Windows, который может добиться того, что вы пытаетесь сделать: BITS . Он был включен в Windows с XP и 2000 SP3.
Бегать:
Имя задания - это просто отображаемое имя задания загрузки - установите его так, чтобы описать то, что вы делаете.
источник
bitsadmin
недоступен в Windows XP Home Edition.Это может быть немного не по теме, но вы можете довольно легко загрузить файл с помощью Powershell . Powershell поставляется с современными версиями Windows, поэтому вам не нужно устанавливать на компьютер какие-либо дополнительные компоненты. Я узнал, как это сделать, прочитав эту страницу:
http://teusje.wordpress.com/2011/02/19/download-file-with-powershell/
Код был:
источник
System
вSystem.Net.WebClient
В последний раз я проверял, что нет команды командной строки для подключения к URL-адресу из командной строки MS. Попробуйте wget для Windows:
http://gnuwin32.sourceforge.net/packages/wget.htm
или URL2File:
http://www.chami.com/free/url2file_wincon.html
В Linux вы можете использовать «wget».
Кроме того, вы можете попробовать VBScript. Они похожи на программы командной строки, но представляют собой сценарии, интерпретируемые хостом сценариев wscript.exe. Вот пример загрузки файла с помощью VBS:
/server/29707/download-file-from-vbscript
источник
Загрузка файлов в PURE BATCH ...
Без JScript, VBScript, Powershell и т. Д. Только чистый пакет!
Некоторые люди говорят, что невозможно загрузить файлы с помощью пакетного сценария без использования JScript или VBScript и т. Д. Но они определенно ошибаются!
Вот простой метод, который, кажется, очень хорошо работает для загрузки файлов в ваших пакетных скриптах. Он должен работать практически с любым URL-адресом файла. Если вам нужно, можно даже использовать прокси-сервер.
Для загрузки файлов мы можем использовать BITSADMIN.EXE из системы Windows. Нет необходимости загружать / устанавливать что-либо или использовать какой-либо JScript или VBScript и т. Д. Bitsadmin.exe присутствует в большинстве версий Windows, вероятно, от XP до Windows 10.
Наслаждайтесь!
ИСПОЛЬЗОВАНИЕ:
Вы можете использовать команду BITSADMIN напрямую, например так:
bitsadmin /transfer mydownloadjob /download /priority FOREGROUND "http://example.com/File.zip" "C:\Downloads\File.zip"
Прокси-сервер:
для подключения через прокси-сервер используйте эту команду перед загрузкой.
bitsadmin /setproxysettings mydownloadjob OVERRIDE "proxy-server.com:8080" "<local>"
Щелкните эту ССЫЛКУ, если вам нужна дополнительная информация о BITSadmin.exe.
УСТРАНЕНИЕ НЕПОЛАДОК:
Если вы получаете эту ошибку: «Не удается подключиться к BITS - 0x80070422»,
убедитесь, что служба Windows «Фоновая интеллектуальная служба передачи (BITS)» включена, и повторите попытку. (Он должен быть включен по умолчанию.)
ПОЛЬЗОВАТЕЛЬСКИЕ ФУНКЦИИ
Call :DOWNLOAD_FILE "URL"
Call :DOWNLOAD_PROXY_ON "SERVER:PORT"
Call :DOWNLOAD_PROXY_OFF
Я сделал эти 3 функции для упрощения команд bitsadmin. Его проще использовать и запомнить. Это может быть особенно полезно, если вы используете его несколько раз в своих скриптах.
ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ ...
Перед использованием этих функций вам сначала нужно скопировать их из CUSTOM_FUNCTIONS.CMD в конец вашего скрипта. Также есть полный пример: DOWNLOAD-EXAMPLE.CMD
: DOWNLOAD_FILE "URL"
Основная функция загружает файлы с URL.
: DOWNLOAD_PROXY_ON "СЕРВЕР: ПОРТ"
(необязательно) Вы можете использовать эту функцию, если вам нужно использовать прокси-сервер.
Вызов функции: DOWNLOAD_PROXY_OFF отключит прокси-сервер.
ПРИМЕР:
CALL :DOWNLOAD_PROXY_ON "proxy-server.com:8080"
CALL :DOWNLOAD_FILE "http://example.com/File.zip" "C:\Downloads\File.zip"
CALL :DOWNLOAD_PROXY_OFF
CUSTOM_FUNCTIONS.CMD
СКАЧАТЬ-ПРИМЕР.CMD
источник
затем
или просто дважды щелкните его, чтобы протестировать в Windows
источник
AFAIK, Windows не имеет встроенного инструмента командной строки для загрузки файла. Но вы можете сделать это из VBScript, и вы можете сгенерировать файл VBScript из пакета, используя эхо и перенаправление вывода:
Больше объяснений здесь
источник
Загрузите Wget отсюда http://downloads.sourceforge.net/gnuwin32/wget-1.11.4-1-setup.exe
Затем установите его.
Затем создайте какой-нибудь файл .bat и поместите в него
Настройте URL-адрес и путь к файлу в скрипте
источник
Вы не можете использовать xcopy через http. Попробуйте скачать wget для windows. Это может помочь. Это утилита командной строки для неинтерактивной загрузки файлов через http. Вы можете получить его на http://gnuwin32.sourceforge.net/packages/wget.htm
источник
Если bitsadmin вам не по душе, вы можете использовать эту команду PowerShell:
источник
Использование Bat To Exe Converter
Создайте командный файл и поместите в него что-то вроде кода ниже
или
и конвертируем в exe.
источник
Вместо wget вы также можете использовать aria2 для загрузки файла с определенного URL-адреса.
См. Следующую ссылку, которая расскажет больше об aria2:
https://aria2.github.io/
источник
BATCH, возможно, не сможет этого сделать, но вы можете использовать JScript или VBScript, если не хотите использовать инструменты, которые не установлены по умолчанию с Windows.
Первый пример на этой странице загружает двоичный файл на VBScript: http://www.robvanderwoude.com/vbstech_internet_download.php
Этот SO-ответ загружает файл с использованием JScript (IMO, лучший язык): Windows Script Host (jscript): как загрузить двоичный файл?
Затем ваш пакетный сценарий может просто вызвать JScript или VBScript, который загружает файл.
источник
Это должно сработать. Я сделал следующее для проекта игрового сервера. Он загрузит zip-архив и распакует его в любой указанный вами каталог.
Сохранить как name.bat или name.cmd
Оригинал: https://github.com/C0nw0nk/SteamCMD-AutoUpdate-Any-Gameserver/blob/master/steam.cmd
источник
Я нашел этот сценарий VB:
http://www.olafrv.com/?p=385
Работает как шарм. Настроен как функция с очень простым вызовом функции:
Источник: http://www.ericphelps.com/scripting/samples/BinaryDownload/index.htm
Вот полный код избыточности:
источник
Этот вопрос имеет очень хороший ответ на здесь . Мой код основан исключительно на этом ответе с некоторыми изменениями.
Сохраните приведенный ниже фрагмент как wget.bat и поместите его в системный путь (например, поместите его в каталог и добавьте этот каталог в системный путь.)
Вы можете использовать его в своем клиенте следующим образом:
wget url/to/file [?custom_name]
где
url_to_file
обязательно иcustom_name
необязательноURL-адрес файла и сохраненные имена файлов отображаются в цветном тексте ansi. Если это вызывает у вас проблемы, проверьте этот проект на github.
PS Этот код требует, чтобы у вас был установлен PowerShell.
источник
Вы можете настроить запланированную задачу с помощью wget, используйте поле «Выполнить» в запланированной задаче как:
источник
В Windows есть утилита (находится с CMD), которую можно запустить из CMD (если у вас есть доступ для записи):
Встроенное приложение Windows. Нет необходимости во внешних загрузках.
Проверено на Win 10
источник
используйте ftp:
Измените все, отмеченное звездочками, в соответствии с вашей ситуацией.
источник