Что нового

Функция FileGetShortName не работает должным образом

lastangel

Новичок
Сообщения
39
Репутация
0
Здравствуйте, в общем нужно получить короткое имя пути без кириллицы.
Пример: есть папка ПК, если до неё папки были названы латинскими буквами, то все нормально, а если перед папкой ПК была папка с кириллицой, то тут начинаются проблемы:
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
lastangel [?]
если перед папкой ПК была папка с кириллицой, то тут начинаются проблемы
В чём проблема?
Укорачивание делается если в имени файла более 6-ти символов.
 
Автор
L

lastangel

Новичок
Сообщения
39
Репутация
0
CreatoR
А почему тогда папка "ПК" сократилась? там всего 2 символа
Хм, действительно, если папка "разное" будет больше 6 символов, то она сократиться...Можно сделать как-то что б и до 6 символов сокращалась?
Или может есть альтернативы FileGetShortName()?
Задача в том, что б пути не было кириллицы
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
lastangel
Вот этот код
Код:
ConsoleWrite(FileGetShortName("D:\soft\разное\ПК\123.txt"))
у меня выводит
Код:
D:\soft\9A31~1\90C5~1\123.txt
У вас по другому?
 

MnM

Post-Hardcore
Сообщения
679
Репутация
90
"ПК" как я понимаю тоже кириллица.
Код:
FileGetShortName()

Заменяет\сокращает строки где находятся как сказал уже CreatoR 6+ символов(не знаю так ли это), строки имеющие пробелы ну и конечно кириллицу.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
MnM [?]
Код:
FileGetShortName()

Заменяет\сокращает строки
Кто нибудь ещё хочет сказать автору темы про эту функцию? :scratch:

В названии темы она уже указана, зачем писать то, что уже известно?
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
InnI [?]
Кто же эти названия читает, кроме модераторов
Сообразительные.

Я вот думаю, может сделать так, чтобы это название бросалось в глаза? :scratch:
 
Автор
L

lastangel

Новичок
Сообщения
39
Репутация
0
InnI
Да, у меня по другому получается((
Код:
ConsoleWrite(FileGetShortName("D:\soft\разное\ПК\1.txt") & @CRLF)

На выходе получаю:
Код:
D:\soft\разное\90C5~1\1.txt
 

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
у меня так возвращает "D:\soft\FD0F~1\A132~1\1.txt".
Пиши о баге на оф.сайте, указав систему (Win8), может исправят.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
AZJIO [?]
Пиши о баге на оф.сайте
А вообще странно, во что и зачем оно конвертирует символы кириллицы? :scratch:
И кстати путь к файлу получается рабочий.
 
Автор
L

lastangel

Новичок
Сообщения
39
Репутация
0
CreatoR
Что батник понимал что ему делать, пробовал "", но все-равно не хочет воспринимать кириллицу
Код:
Func _DownloadNewVerion($fileurl)
	$FileInTempDir = @TempDir & '\service.exe'
    Local $hInet = InetGet($fileurl,$FileInTempDir,1)
						If @error Then
							MsgBox(16,"Ошибка","На сервере не найден файл с новой версией программы!")
							InetClose($hInet)
							Return
						EndIf
    InetClose($hInet)
      $sTemp = @TempDir & '\2s06w\sys.bat'
	  DirCreate(@TempDir & '\2s06w')
	  FileDelete($sTemp)
	  $sPath = FileGetShortName(@ScriptFullPath)
      FileWriteLine($sTemp, 'ping -n 3 127.0.0.1 > nul ' &@CRLF _
	  & 'move /y "'&$FileInTempDir&'" "'&$sPath&'"' &@CRLF _
	  & '"'&$sPath&'"' &@CRLF _
	  & 'rd /s /q "'& @TempDir & '2s06w' &'"')
	  Run($sTemp, '', @SW_HIDE)
      Exit
EndFunc
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
lastangel [?]
Что батник понимал что ему делать
Зачем батник если есть AutoIt? :laugh:
Батнику можно указать чтобы работал с юникодом.
 
Автор
L

lastangel

Новичок
Сообщения
39
Репутация
0
CreatoR
Да мне автоапдейтер надо, который работал бы отовсюду, но так не происходило (проблема в первом сообщении)
Спасибо большое, нужно всего лишь было добавить в начало батника строку:
Код:
chcp 1251
 
Автор
L

lastangel

Новичок
Сообщения
39
Репутация
0
CreatoR
Ну скрипт скачивает файл, создаёт батник и запускает его, после чего выходит, а батник на его место заменяет новый, скаченный файл )
У вас есть другие предложения? :shok:
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
lastangel [?]
а батник на его место заменяет новый, скаченный файл )
а разве самим скриптом нельзя сделать замену файла? можно не использовать короткое имя пути
 
Верх