Войти

Показать полную графическую версию : [решено] wput vs кириллица


DesmondTruman
04-03-2013, 21:02
В общем есть код:
@echo off
echo blablabla> "%systemroot%\test_%computername%_%date%.txt"
"%systemroot%\wput.exe" "%systemroot%\test_%computername%_%date%.txt" "ftp://login:password@myftp.ru/backup/test_%computername%_%date%.txt"
exit
Всё бы ничего, но если %computername% возвращает имя на кириллице, то увы, не работает.
Есть ли выход из этой ситуации?
Или нужно как-то перевести возвращаемое имя в транслит?

zion87
05-03-2013, 09:44
кодировка при сохранении 866?

DesmondTruman
05-03-2013, 14:13
Да, так же пробовал вместо этого вставлять в код chcp 1251.

DesmondTruman
07-03-2013, 19:36
В общем, как я и предпологал в 1-ом посте, пришлось перевести возвращаемое имя в транслит.
Взял код отсюдого (http://forum.oszone.net/post-2072743-3.html) (за что опять таки спасибо gora), переделал под себя, вот пример в дальнейшем кому будет нужно:
@echo off
chcp 1251
SetLocal EnableDelayedExpansion
Set "nData=%computername%"
If Defined nData (Set nData=!nData: =_!) Else (goto end)
For %%I In (а_a б_b в_v г_g д_d е_e ё_yo ж_j з_z и_i й_y к_k л_l м_m н_n о_o п_p р_r с_s т_t у_u ф_f х_h ц_c ч_ch ш_sh щ_sh ъ_. ы_y ь_. э_e ю_yu я_ya) Do For /F "tokens=1,2 delims=_" %%A In ("%%I") Do Set nData=!nData:%%A=%%B!
echo blablabla> "%systemroot%\test_%nData%_%date%.txt"
"%systemroot%\wput.exe" "%systemroot%\test_%nData%_%date%.txt" "ftp://login:password@myftp.ru/backup/test_%nData%_%date%.txt"
:end
exit

A point H point
04-07-2019, 20:42
wput.exe работает ли с путями содержащими пробелы в Windows 7? приведите пример!




© OSzone.net 2001-2012