Я пытаюсь загрузить несколько PDF-файлов с URL-адресов, используя invoke-webrequest. Я также хочу, чтобы PDF-файлы имели уникальные имена (которые я выбираю), но загружались в одну папку.
Это то, что у меня есть до сих пор (для 1 URL):
invoke-webrequest -uri "https://www.website.com/fact.pdf" -Outfile $env:TEMPC:\Users\MyPC\Downloads\TEST.pdf
ПС; это буквально мой первый раз, когда я использую powershell и понятия не имею
Обновлено: Спасибо - это именно то, что мне было нужно.
Мне интересно, сможете ли вы помочь мне в дальнейшем. Я должен ежедневно загружать эти PDF-файлы с этих URL-адресов. У меня уже есть загруженные PDF-файлы предыдущего дня, поэтому я сейчас смотрю, смогу ли я запустить скрипт, где:
Не лучший в объяснении вещей, но если вам нужна дополнительная информация, я попытаюсь объяснить дальше.
Заранее спасибо!
для вашего второго вопроса я нажимаю на ярлык несколько раз в день, когда я знаю, что целевые файлы обновлены. В моем файле bat папка автоматически создается по номеру версии веб-сайта, но в вашем случае просто устанавливается по дате, поэтому сегодняшняя папка может быть 2022-04-10 и cd в папку, чтобы свернуть список файлов, если вы хотите свои собственные имена замените -O на -o myname1.pdf
или что-то еще, вы просто щелкаете файл каждый день или добавляете в ежедневный список запуска
Организуйте свои URL-адреса и их целевые имена файлов в хеш-таблице:
$FilesToDownload = @{
'TEST.pdf' = 'https://www.website.com/fact.pdf'
'ANOTHER.pdf' = 'https://other.website.com/somethingElse.pdf'
<# and so on ... #>
}
Теперь вам просто нужно повторить Invoke-WebRequest
для каждой записи в хеш-таблице:
foreach($file in $FilesToDownload.GetEnumerator()){
Write-Host "Downloading '$($file.Name)' from '$($file.Value)'"
# construct output path, then download file
$outputPath = Join-Path C:\Users\MyPC\Downloads -ChildPath $file.Name
Invoke-WebRequest -Uri $file.Value -OutFile $outputPath
}
безусловно, самым простым и, следовательно, самым быстрым тестом является использование cmd
cd /D "C:\Users\MyPC\Downloads" & c:\Windows\System32\curl.exe -O https://www.website.com/fact.pdf
, вы можете обрезать его, используя GetDown.bat, поэтому все, что вам нужно, этоGetDown https://www.website.com/fact.pdf