Wget не является внутренней или внешней командой что делать
Перейти к содержимому

Wget не является внутренней или внешней командой что делать

  • автор:

‘wget’ is not recognized as an internal or external command – Windows Fix

‘wget’ is not recognized as an internal or external command,
operable program or batch file.

Or in Git Bash sh: wget: command not found

What this simply means is, wget isn’t installed in your windows machine or it is, but hasn’t been added to Windows environmental path.

If you don’t have wget installed, download it from here (32-bit) and here (64-bit).

Extract the files to a folder say C:\wget and then add the folder to Windows environmental path.

In some windows machines, the wget command will not be available until after a PC restart.

wget не распознается как внутренняя или внешняя команда

Я работаю над программой для автоматического обновления моей игры по мере создания новых разработок и добавления новых патчей. Когда я запускаю обновление патча, он не распознает wget как внутреннюю или внешнюю команду. Игра:

Дополнительный код выше в программе обновления Updater:

5 ответов

wget — это сторонняя программа, которая не входит в комплект Windows, поэтому вам необходимо явно установить ее, чтобы использовать.

Вам нужно будет добавить путь к файлу wget.exe в переменную среды PATH , чтобы вызвать исполняемый файл, как в пакетном файле выше, без явного указания пути.

Вам просто нужно установить wget с https://anaconda.org/menpo/wget здесь. Я нашел свое решение, установив его.

Загрузите wget.exe здесь после загрузки, перейдите в командную строку, набрав «cmd» в меню поиска , откройте cmd type ‘path’, затем введите в командной строке, вы собираетесь переместить загруженный файл wget.exe в папку C: \ Windows \ System32. в случае успеха закройте и откройте командную строку и введите «wget -h», затем введите, вы должны увидеть разные доступные команды. Теперь вы можете использовать md wgetdown для создания каталога для ваших загрузок

Перейдите в папку C: \ Program Files (x86) \ GnuWin32 \ bin и проверьте имя файла .exe. Для меня это был sid.exe, поэтому я использую sid вместо команды Wget

Это просто означает, что wget не установлен на вашем компьютере с Windows, но не был добавлен в путь к среде Windows.

Если у вас не установлен wget, загрузите его с здесь (32-разрядная версия) и здесь (64-разрядная версия).

Извлеките файлы в папку, например, C: \ wget, а затем добавьте папку в путь к среде Windows.

Wget не является внутренней или внешней командой что делать

GNU Wget

GNU Wget — это свободная неинтерактивная утилита для скачивания файлов по HTTP, HTTPS, FTP и FTPS (и только), обладающая самым базовым функционалом загрузки одиночных файлов и рекурсивной загрузки сайтов (HTTP) и директорий (FTP).

Где взять.
Под GNU — уже стоит. Под FreeBSD — есть в портах. Под [Mac] OS X — собрать ванильный.
Под Windows есть варианты: Cygwin | GNUWin32 (учитывайте зависимости) | Wget + OpenSSL by GetGnuWin32 | by TumaGonx Zakkum (он же osspack32 и The Moluccas | by Jernej Simoncc (32 и 64 бит отдельные пакеты).

Q: Можно ли простым перебором загрузить страницы (допустим) с первой по сотую, если их адреса:
http://example.org/index?page=1
http://example.org/index?page=2
.
http://example.org/index?page=100
A: Вэ-гет не умеет делать инкрементальный перебор, поскольку это умеет делать любая командная оболочка. На Баше это делается так:
$ wget -E "http://example.org/index?page=" <1..100>
Еще раз отметьте, <1..100>— это синтаксическая конструкция Баша, а не Вэ-гета. Эквивалентной этой будет команда:
$ for i in <1..100>; do wget -E "http://example.org/index?page=$i"; done
Или для cmd.exe:
for /l %i in (1,1,100) do wget -E "http://example.org/index?page=%i"

Q: А как собственно сайт целиком-то загрузить?
A: $ wget -mpEk "http://example.org"
Это, наверное, самый ходовой набор ключей, но вам, может быть, более подойдут другие. Что значит каждый — легко узнать в мане.

Q: Я хочу загрузить с сайта, требующего авторизации. Что делать?
A: Проще всего кинуть куда-нибудь файл с нужными (но лишние не помешают) куками в нетскэйповском формате, затем воспользоваться ключом —load-cookies .
$ wget —load-cookies cookies.txt бла-бла # файл cookies.txt в текущей директории
У Файрфокса куки в требуемом виде можно получить, воспользовавшись расширениями «Export Cookies» либо «Cookie.txt»; у Хрома — «Cookie.txt export»

Q: Не-ASCII символы сохраняются в именах файлов как %D0%A5%D1%83%D0%B9 (или того хуже), хотя локаль юникодная.
A: Укажите ключ —restrict-file-names=nocontrol,unix или —restrict-file-names=nocontrol,windows соответственно.
Если у вас Windows и локаль не юникодная — используйте вариант от Alex_Piggy с ключом —local-filesystem-encoding=ENCODING , где ENCODING — имя кодировки локали в терминах iconv . Текущую локаль cmd.exe можно проверить при помощи команды chcp . Для русской кириллицы в Windows обычно используется CP866 .

Q: Известно, что можно приказать Вэ-гету обновить ранее загруженный файл, если на сервере новее или иного размера (ключ —timestamping , он же -N ). Можно приказать учитывать только дату, но не размер ( —timestamping —ignore-length ). А можно ли учитывать только размер, но не дату?
A: При помощи одного только Wget’а — нет. Возможна обработка получаемых заголовков файла при помощи средств командной оболочки. Пример для cmd.exe .

Q: Можно ли приказать Вэ-гету докачать файл, но только если он не изменился.
A: Нет, нельзя. Сочетание ключей -cN ( —continue —timestamping ), как можно было бы предположить, нужного эффекта не даст — «докачает» даже если файл изменился — получите в итоге мусор.

Q: Можно ли при рекурсивной загрузке ограничится только ссылками, содержащими параметр lang=ru , т.е. грузить:
http://example.org/index?lang=ru
http://example.org/page?id=1001&lang=ru
http://example.org/file?id=60&lang=ru&format=dvi
и не грузить:
http://example.org/index?lang=en
http://example.org/about?lang=fr
и т.д.
A: Для версий < 1.14 нет такой возможности.
Общий вид URI: <протокол>://<логин>:<пароль>@<хост>:<порт>/<путь>?<параметры>#<якорь> . Так вот ключи -I ( —include-directories ) и -X ( —exclude-directories ) относятся только к пути, но не к параметрам.
В версиях > 1.14 возможно при использовании ключей —accept-regex / —reject-regex . Пример: —reject-regex "lang=[^r][^u]"

Q: Можно ли средствами Вэ-гета ограничить перечень загружаемых файлов по дате модификации (новее чем, старше чем)?
A: Нет такой возможности.

Q: Можно ли при рекурсивной или множественной загрузке произвольно задать целевые пути и/или имена файлов на основе пути/имени по-умолчанию (применить транслитерацию, отбросить хвостовую часть) или хотя бы независимо (сгенерировать случайно или по счетчику)?
A: Нет.

Q: То — нельзя, это — невозможно. Почему все так плохо?
A: Потому что Вэ-гет на настоящий момент — базовая программа, предоставляющая только самый базовый функционал. Если вы уперлись в потолок ее возможностей, просто смените ее на другой инструмент. Из неинтерактивных свободных программ наиболее функциональными будут:
aria2c — для загрузки одиночных файлов по HTTP(S), FTP, бит-торренту;
httrack — для рекурсивной загрузки («зеркалирования») веб-сайтов;
lftp — для работы по FTP, FTPS, SFTP, FISH, а также с листингами, отдаваемыми по HTTP(S) (пример).
curl — для работы с одиночными файлам по HTTP(S), FTP(S) и многими другими протоколами на более низком уровне.
wput — клон wget для аплоада файлов на удаленные FTP(S) сервера.
axel — клон wget для многопоточной загрузки одиночных файлов по протоколам HTTP(S) и FTP(S). Порты для Windows: 2.4, 2.16.1

c:\Portable App\Total Commander\Utils\Wget>wget -O- "https://architizer.com/projects/villa-stardust/" | ugrep -Eo "https://architizer-prod.imgix.net/media/mediadata/uploads/[[:digit:]]+Daria_Scagliola-[[:digit:]]+.jpg" | sort -u | wget -i —
"ugrep" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

Может здесь чего не так

Цитата:

Самый прикол, что сейчас например база лежит 149 версии, а если взять MSI и распаковать — то там файл на месяц новее, версия 150.

Зато в .никс-версии чистая база, безо всякого мусора, коим так богат MSI.
MSI, конечно, распаковать можно, но. там надо ещё и файл базы потом приводить в нужному виду (переименовывать) — у них там всё не по-человечески.

Цитата:

Вот так можно скачать файл по маске:
wget -rH -l1 -nH -nd -D download.2gis.com -A 2GISData*.orig.zip -e robots=off "http://info.2gis.ru/nizhniy-novgorod/products/download"

Что-то какие-то непонятки получаются (на клиенте, про сервер — забыли):

download.tmp [ <=> ] 18,63K —.-KB/s in 0s

2021-03-11 19:02:14 (74,1 MB/s) — 'download.tmp' saved [19081]

Removing download.tmp since it should be rejected.

Цитата:

"ugrep" не является внутренней или внешней

если вы скачали нужную версию ugrep(32 или 64), то видимо что-то не так указали в переменной. Когда с переменной разберетесь не забудьте убрать 'sort -u' т.к. у вас, видимо, нет программы sort. Ссылок для _https://architizer.com/projects/villa-stardust/
будет 48 вместо 6 но это не критично.

wget -O- url | ugrep -Eo pattern | wget -i —

для url и pattern нужные значения у вас есть.

Цитата:

Можно использовать xmllint из пакета libxml2 для извлечения ссылки из html кода.

Хорошо, попробую. Нужен libxml2-2.7.8.win32.zip с указанного сайта, или что-то другое?

Цитата:

Leon_Ko
У меня этой командой качает 149 базу

У меня — нет. По-видимому, произошло кеширование предыдущей попытки (на сервере?), и Wget считает, что файл уже скачан. Лог я приводил выше .

Добавлено:
Fenrizz
Скачал libxml2-2.7.8.win32.zip, распаковал в %path%, запускаю:

Цитата:

Самый прикол, что сейчас например база лежит 149 версии, а если взять MSI и распаковать — то там файл на месяц новее, версия 150.

Если посмотреть html код, то там видно две ссылки
<span <a href='https://download.2gis.com/arhives/2GISData_N_Novgorod-150.0.0.zip'
и
<div href="https://download.2gis.com/arhives/2GISData_N_Novgorod-149.orig.zip"

а, вот что — полез смотреть вручную — оказывается не все имена имеют цифры.JPG

_https://architizer-prod.imgix.net/media/mediadata/uploads/1591897900205Daria_Scagliola-4676v.jpg

вот такая хрень идет после файла, на котором остановилось скачивание и еще бывают вот такие имена

_https://architizer-prod.imgix.net/media/mediadata/uploads/1614634822452ButlerArmsden_Orinda_50S4574_copy.jpg

как дополнить регулярку, так чтобы все варианты прокатывали. цифрыВНУТРИбуквыцифры итд

подсмотрел справку [[:alnum:]] может проканает

не..не канает, опять заLOOPляется на файле, после которого идет с буквами после цифр

unixforum.org

Решено: Кто знается на Bash'ше в Linux, помогите? (и кто знается на Windows тоже :-))

Решено: Кто знается на Bash'ше в Linux, помогите?

Вот такой код есть:

(это FTP сервер: 10.2.1.20)
—-
что значит в нем каждая строка? (Баш вообще не знаю, редиска общем!)

——
Просто мне надо всё єто дело передалать что бы в Windows (написать или на BATCH ( *.bat’ник) или в Дельфи6)

А не понимая что делать этот Башовый скриптец, я нифита не сделаю под винду

Re: Решено: Кто знается на Bash'ше в Linux, помогите?

Приблизительно: получается скрипт лезет на фтп, сравнивает логи и обговляется

так выглядит файл versiya.log:

Re: Решено: Кто знается на Bash'ше в Linux, помогите?

Дети любят тигра больше, чем Пржевальский лошадей. © Тимур Шаов.

Топик не читал, но внимательно просмотрел.

Re: Решено: Кто знается на Bash'ше в Linux, помогите?

это ж что ж получается wget выкачивает файлы с фтп ?

Re: Решено: Кто знается на Bash'ше в Linux, помогите?

В логфайл он пишет.
Сначала, красивую шапочку

"Обновление произошло в такой-то день"

А если команда не выполнилась, то

Re: Решено: Кто знается на Bash'ше в Linux, помогите?

Re: Решено: Кто знается на Bash'ше в Linux, помогите?

Re: Решено: Кто знается на Bash'ше в Linux, помогите?

Хе, прикольно:-) сейчас буим гуглить.

Если в кого валяется прямая на wget для маст дай — респект 🙂

Re: Решено: Кто знается на Bash'ше в Linux, помогите?

Re: Решено: Кто знается на Bash'ше в Linux, помогите?

скачал wget for Win (точное название: WinGet 0.2 beta)


значит запуская я батник єтот,и мне ошибочка:
"wget" не является внутренней или внешней
командой , исполняемой програмой или пакетным файлом.
"output" не является внутренней или внешней
командой , исполняемой програмой или пакетным файлом
Fail updatr
Begin copy
-> copy fale from E:\тратата
копирует файлы!
ну и разуеется потом его запускает.

как в винде wget привязать?

Re: Решено: Кто знается на Bash'ше в Linux, помогите?

Re: Решено: Кто знается на Bash'ше в Linux, помогите?

Re: Решено: Кто знается на Bash'ше в Linux, помогите?

запускаю батник, пишет:

wget.missing URL
Usage: wget [OPTION]. [URL].

Try ‘wget —help’ for more options.
wget: option ‘—append-‘ reguires an agrument
Usage: wget [OPTION]. [URL].


З.Ы только не смейтесь я ещё студент 1-й курс 🙁

Re: Решено: Кто знается на Bash'ше в Linux, помогите?

Re: Решено: Кто знается на Bash'ше в Linux, помогите?

Re: Решено: Кто знается на Bash'ше в Linux, помогите?

Re: Решено: Кто знается на Bash'ше в Linux, помогите?

Re: Решено: Кто знается на Bash'ше в Linux, помогите?

БОЛЬШОЕ Спасибо всем ! 🙂

Re: Решено: Кто знается на Bash'ше в Linux, помогите?

Дети любят тигра больше, чем Пржевальский лошадей. © Тимур Шаов.

Топик не читал, но внимательно просмотрел.

Re: Решено: Кто знается на Bash'ше в Linux, помогите?

Такая вот проблемка с этим скриптиком, он работает отлино не жалуюсь

но проблема в следуйщем:

когда по окончании загрузки вгетом, запускается програмка(виндовая,не консольная), то програмка запустилась
А консольное окно осталось(то что вгет кочал), а мне надо что бы когда прога запускается то что бы это окно автоматом закрылось)) а то оно закрывается лиш в том случае когда я прогу єту которая через єтот скрипт запускается, когда прогу эту закрою только тада и консоль закрывается((

Re: Решено: Кто знается на Bash'ше в Linux, помогите?

Думаю может, сделать так:
этот батник что код (в предыдущему посту написал) обновился и закрылся и открыл другой батник который просто запускает эту прогу.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *