CMD/BAT - wget проблемма русских названий
-
Dnivd
CMD/BAT - wget проблемма русских названий
Всем привет, кто нибудь смог победит у wget-а проблему с русскими названиями у файлов и папок? Пересмотрел все ключи, в инете поискал, но пока без успеха.
-
Dnivd
Re: CMD/BAT - wget проблемма русских названий
Сам скрипт:
@echo off
set uri=
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, пытался файл под разной кодировкой сохранять, пробовал разные ключи добавлять которые кому то помогали качать нормально. Но пока не смог найти решения
@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 проблемма русских названий
Q: Не-ASCII символы сохраняются в именах файлов как %D0%A5%D1%83%D0%B9 (или того хуже), хотя локаль юникодная.
A: Укажите ключ --restrict-file-names=nocontrol,unix или --restrict-file-names=nocontrol,windows соответственно.
Если у вас Windows и локаль не юникодная — используйте вариант от
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 проблемма русских названий
Q: Не-ASCII символы сохраняются в именах файлов как %D0%A5%D1%83%D0%B9 (или того хуже), хотя локаль юникодная.
A: Укажите ключ --restrict-file-names=nocontrol,unix или --restrict-file-names=nocontrol,windows соответственно.
Если у вас Windows и локаль не юникодная — используйте вариант от
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 проблемма русских названий
пробовал, ему пофиг
--restrict-file-names=nocontrol,windows данный ключ пофиг в каком месте среди ключей ставить? или его куда то определенно нужно писать?
--local-filesystem-encoding=ENCODING, данную команду нужно писать как --local-filesystem-encoding=CP866 или я ошибаюсь?
Кстати --local-filesystem-encoding=ENCODING не поддерживается wget, пишет смотри в хелпе список ключей, Хочу уточнить что у меня wget в виде одного exe файла, получается он урезанный по функционалу
--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 проблемма русских названий
Сорь не увидел ссылку
. Скачал Результат тот же.
@echo off
set uri=
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
Ведь так нужно по идее ключ указать?
Как вариант апачь может быть настроен не так
. Скачал Результат тот же.@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 проблемма русских названий
Цитата Dnivd:
--restrict-file-names=nocontrol,windows
добавье и попробуйте еще раз
--restrict-file-names=nocontrol,windows
CMD/BAT - wget проблемма русских названий
добавье и попробуйте еще раз
-
alv1r
Re: CMD/BAT - wget проблемма русских названий
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 проблемма русских названий
мне помогло --local-filesystem-encoding=Win1251 (без --restrict-file-names=...) и wget по сслыке из поста
CMD/BAT - wget проблемма русских названий