Назад | Перейти на главную страницу

Пакетный скрипт для запуска нескольких команд wget

Я пытаюсь создать сценарий с несколькими командами wget, включающими учетные данные сайта для загрузки файла. Если я запустил команду wget отдельно в командной строке, файл загрузится правильно.

Если я создам пакетный сценарий для включения нескольких команд wget, ни один из файлов не загрузится должным образом. Я не разбираюсь в сценариях и не нашел решения в Интернете. Можно ли запускать несколько команд wget в командном файле?

Это пример моего пакетного скрипта.

 q@echo off
FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET CDATE=%%B
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B
FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN ('echo %CDATE%') DO SET dd=%%B
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('echo %CDATE%') DO SET yyyy=%%B
SET date=%yyyy%%mm%%dd%


wget -v --http-user="username" --http-password=password "http://server/dira/file:format=PDF" -O "C:\test\%date%file.pdf"

wget -v --http-user="username" --http-password=password "http://server/dirb/file2:format=PDF" -O "C:\test\%date%file.pdf"

Если вы знаете URL-адреса, с которых хотите выполнить загрузку, вы можете сохранить файлы загрузки или URL-адреса в текстовом файле, а затем используйте wget -i вариант

Этот вопрос Вот размещенный на SuperUser также может помочь

Я бы использовал PowerShell.

#Feel free to modify date format via google search
$dateString = Get-Date -f MM-dd-yy
$client = New-Object System.Net.Webclient
$client.Credentials = New-Object System.Net.NetworkCredential("user","pass")


"File1.pdf","File2.pdf","file3.zip" | % {
    $path = "http://somesite.com/files/" + $_
    $fileName =  "C:\downloads\" + ($_).Replace(".zip",($dateString + ".zip"))
    $client.DownloadFile($path,$fileName)
}

Если кто-то хочет загрузить несколько файлов с помощью wget, лучший способ - добавить «начало» в начало каждой строки. Подобно:

start wget -v --http-user="username" --http-password=password "http://server/dira/file:format=PDF" -O "C:\test\%date%file.pdf

Если вы хотите, чтобы каждая строка не открывала новое окно cmd, используйте параметр / B. Подобно:

start /B wget -v --http-user="username" --http-password=password "http://server/dira/file:format=PDF" -O "C:\test\%date%file.pdf