#windows #bash #powershell #unix #wget
#Windows #bash #powershell #unix #wget
Вопрос:
Я пытаюсь загрузить коллекцию файлов, но инструкции относятся к командной строке в Unix. По сути, у меня есть текстовый файл с очень длинным списком команд wget, каждая из которых в значительной степени
wget -U Mozilla/5.0 --no-check-certificate https://some-url.com
с другим URL. В командной строке указано выполнить следующее
chmod a x filename.txt
Execute: ./filename.txt
Однако ничего не работает, потому что я работаю в Windows. Есть ли какой-либо способ загрузить эти файлы из этого .txt-файла или запустить команды wget в Windows? Спасибо!
Комментарии:
1. Рассматривали ли вы возможность поиска в Google для wget для Windows перед публикацией здесь?
2. Вы пытаетесь выполнить это в среде bash для Windows или в дистрибутиве WSL? В любом случае вы хотите, чтобы первая строка в вашем файле была
#!/bin/bash
для установки интерпретатора, который будет использоваться для остальной части скрипта. Затем вы можете сделать скрипт исполняемым (например,chmod x filename.txt
), а затем запустить его с помощью./filename.txt
. В качестве альтернативы, просто запустите его с помощью bash, (например,bash filename.txt
). (вам нужно будетwget
установить в этой среде)
Ответ №1:
Вы можете получить wget для Windows здесь.
В Windows PowerShell wget
является псевдонимом для Invoke-WebRequest
, который не будет использовать те же параметры, что и «реальный» wget. Однако, как только у вас появится wget.exe для Windows вы могли бы сделать что-то вроде следующего:
Set-Alias wget wget.exe -Force -Option AllScope # point 'wget' at the real 'wget.exe'
copy ./filename.txt ./filename.ps1
. ./filename.ps1 # <-- "dot source" operator
Но если каждая строка в файле действительно является просто командной строкой wget… вы также могли бы просто использовать cmd точно так же.
copy ./filename.txt ./filename.cmd
cmd.exe /c ./filename.cmd