Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   wget проблемма русских названий (http://forum.oszone.net/showthread.php?t=279811)

Dnivd 26-03-2014 05:21 2328650

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

Iska 26-03-2014 09:12 2328689

Пример проблемы приведите.

Dnivd 26-03-2014 10:21 2328717

Сам скрипт:
@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, пытался файл под разной кодировкой сохранять, пробовал разные ключи добавлять которые кому то помогали качать нормально. Но пока не смог найти решения

alv1r 26-03-2014 10:24 2328718

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 26-03-2014 10:41 2328734

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

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

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

alv1r 26-03-2014 14:24 2328845

как насчет взять тот вгет, на который я дал ссылку?

Dnivd 27-03-2014 05:02 2329173

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

@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 27-03-2014 07:58 2329184

Цитата Dnivd:
--restrict-file-names=nocontrol,windows »
добавье и попробуйте еще раз

Dnivd 27-03-2014 09:15 2329199

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%
сделал так эффекта нет. По видимому где то еще косяк, ладно спасиб буду без русского языка делать

mrkomap@twitter 26-10-2015 10:28 2568205

мне помогло --local-filesystem-encoding=Win1251 (без --restrict-file-names=...) и wget по сслыке из поста alv1r

Foreigner 26-10-2015 10:41 2568210

Дайте реальную ссылку для скачивания с файлом в кириллице.

passwd 11-08-2018 20:12 2825969

Цитата:

Цитата alv1r
--restrict-file-names=nocontrol »

Спасибо, на Linux получилось.


Время: 20:37.

Время: 20:37.
© OSzone.net 2001-