CMD/BAT - wget проблемма русских названий

Аватара пользователя
Dnivd

CMD/BAT - wget проблемма русских названий

Сообщение Dnivd »

Всем привет, кто нибудь смог победит у wget-а проблему с русскими названиями у файлов и папок? Пересмотрел все ключи, в инете поискал, но пока без успеха.
Аватара пользователя
Dnivd

Re: CMD/BAT - wget проблемма русских названий

Сообщение Dnivd »

Сам скрипт:

@echo off

set uri=
http://10.24.119.245/!_Download_Files_


set patth1="C:\Install"



for /f "tokens=2 delims=Изображение" %%i in ('ipconfig /all^|find "IPv4"') do (

for /f "tokens=1-4 delims=. " %%A in ("%%i") do (

IF %%A==10 IF %%B==24 set OTDEL=%%C

)

)

if not exist %patth1% mkdir %patth1%

wget.exe -c -R index.html* -r -l0 -nH -np -N --cut-dirs=2 %uri%/EVERYONE/ -P %patth1%

wget.exe -c -R index.html* -r -l0 -nH -np -N --cut-dirs=2 %uri%/%OTDEL%/ -P %patth1%

exit



При скачке любого файла или папки с русским именем: Папка, Файл.txt

Скачивается с именем: Р%9Fапка, Файл.txt

Кодировку пытался менять в самом скрипте через команду chcp, пытался файл под разной кодировкой сохранять, пробовал разные ключи добавлять которые кому то помогали качать нормально. Но пока не смог найти решения
Аватара пользователя
Iska

Re: CMD/BAT - wget проблемма русских названий

Сообщение Iska »

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.
источник
Аватара пользователя
alv1r

Re: CMD/BAT - wget проблемма русских названий

Сообщение alv1r »

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.
источник
Аватара пользователя
Dnivd

Re: CMD/BAT - wget проблемма русских названий

Сообщение Dnivd »

пробовал, ему пофиг



--restrict-file-names=nocontrol,windows данный ключ пофиг в каком месте среди ключей ставить? или его куда то определенно нужно писать?

--local-filesystem-encoding=ENCODING, данную команду нужно писать как --local-filesystem-encoding=CP866 или я ошибаюсь?



Кстати --local-filesystem-encoding=ENCODING не поддерживается wget, пишет смотри в хелпе список ключей, Хочу уточнить что у меня wget в виде одного exe файла, получается он урезанный по функционалу
Аватара пользователя
alv1r

Re: CMD/BAT - wget проблемма русских названий

Сообщение alv1r »

Сорь не увидел ссылку Изображение. Скачал Результат тот же.



@echo off

set uri=
http://10.24.119.245/!_Download_Files_/


set patth1="C:\Install"



if not exist %patth1% mkdir %patth1%

wget.exe -c -R index.html* -r -l5 -nH -np --local-filesystem-encoding=CP866 %uri% -P %patth1%

::wget.exe -c -E -R html -r -l5 -nH -np %uri% -P %patth1%

exit



Ведь так нужно по идее ключ указать?



Как вариант апачь может быть настроен не так
Аватара пользователя
alv1r

Re: CMD/BAT - wget проблемма русских названий

Сообщение alv1r »

Цитата Dnivd:

--restrict-file-names=nocontrol,windows
CMD/BAT - wget проблемма русских названий


добавье и попробуйте еще раз
Аватара пользователя
alv1r

Re: CMD/BAT - wget проблемма русских названий

Сообщение alv1r »

wget.exe -c -R index.html* -r -l0 -nH -np -N --cut-dirs=2 --restrict-file-names=nocontrol,windows --local-filesystem-encoding=CP866 %uri%/_EVERYONE/ -P %patth1%

сделал так эффекта нет. По видимому где то еще косяк, ладно спасиб буду без русского языка делать
Аватара пользователя
alv1r

Re: CMD/BAT - wget проблемма русских названий

Сообщение alv1r »

мне помогло --local-filesystem-encoding=Win1251 (без --restrict-file-names=...) и wget по сслыке из поста
CMD/BAT - wget проблемма русских названий
Ответить

Вернуться в «Скриптовые языки администрирования Windows»