Показать полную графическую версию : [решено] Получение имени скрипта без расширения исходя из значения @ScriptName
Smokie_id11243755
03-09-2010, 11:47
Хочу получить имя скрипта, но без расширения.
Как из значения макроса @ScriptName удалить символы с конца и до точки?
FlatX007
03-09-2010, 13:21
StringTrimRight(@ScriptName, 4)
madmasles
03-09-2010, 13:22
Smokie_id11243755,
Попробуйте так:; 1-й вариант
$sNameScript = StringLeft(@ScriptName, StringInStr(@ScriptName, '.') - 1)
MsgBox(0, '1', $sNameScript)
; 2-й вариант
$sNameScript = StringTrimRight(@ScriptName, StringInStr(@ScriptName, '.') - 1)
MsgBox(0, '2', $sNameScript)
; 3-й вариант
$sNameScript = StringMid(@ScriptName, 1, StringInStr(@ScriptName, '.') - 1)
MsgBox(0, '3', $sNameScript)
; 4-й вариант
$sNameScript = StringRegExpReplace(@ScriptName, '(.*?)\.\E.*', '\1')
MsgBox(0, '4', $sNameScript)
Smokie_id11243755
03-09-2010, 17:39
madmasles, а можно какнить с конца до первой найденной точки?
Можно. Function StringInStr (http://www.autoitscript.com/autoit3/docs/functions/StringInStr.htm):
StringInStr ( "string", "substring" [, casesense [, occurrence [, start [, count]]]] )
…
occurrence : [optional] Which occurrence of the substring to find in the string. Use a negative occurrence to search from the right side. The default value is 1 (finds first occurrence).
…
FlatX007
03-09-2010, 18:47
madmasles, а можно какнить с конца до первой найденной точки? »
Оно вам это надо ?
madmasles
03-09-2010, 20:54
а можно какнить с конца до первой найденной точки »
; 5-й вариант
$sNameScript = StringTrimRight(@ScriptName, StringInStr(@ScriptName, '.', 0, -1) + 1)
MsgBox(0, '3', $sNameScript)
Smokie_id11243755,
Предупреждение за нарушение правил форума, пункт 2.7 (http://forum.oszone.net/rules.html#2.7):
В заголовке темы обязательно обозначайте название предмета, которого касается вопрос, а в теле сообщения максимально подробно опишите проблему (приведите аппаратную/программную конфигурацию, а также изложите ситуацию, в которой возникает проблема). Темы с несодержательными или слишком общими заголовками будут закрываться или переноситься в раздел "Зона тестирования" в зависимости от политики конкретного форума. Подробнее о принципах создания тем читайте в этом документе (http://forum.oszone.net/faq.php?faq=vb_read_and_post#faq_thread) и Правилах форумов.
Переименуйте пожалуйста тему.
Получение из полного пути:
$sFileName = StringRegExpReplace (http://www.autoitscript.com/autoit3/docs/functions/StringRegExpReplace.htm)(@ScriptFullPath (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptfullpath), '^.*\\|\.[^\.]*$', '')
MsgBox (http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm)(64, '', $sFileName)
P.S
Посмотрие ещё на эту тему: Деление пути к файлу на части (http://autoit-script.ru/index.php/topic,316.0.html)
Smokie_id11243755
04-09-2010, 17:13
Переименуйте пожалуйста тему »
А как это сделать?
как это сделать? »
При редактирований первого сообщения есть такая возможность.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.