Что нового

получение имени файла из пути к нему.

norkotik

Новичок
Сообщения
9
Репутация
0
есть список с путями файлов. необходимо получить названия из этих списков. при использовании шаблона для StringRegExp с флагом "0" получаю "1" те ошибок нет, при использовании флага "1" - пустое значение. вот код:
Код:
$a = 'c:\Program Files\Notepad++\notepad++.exe'
$b = '[a-z]*.exe'
$c = StringRegExp( $a, $b ,1 )
TrayTip ('найдено: ', $c , 2)
Sleep(2000)


не пойму почему, поиск по форуму ответа не дал
 

Fever

Скриптер
Сообщения
308
Репутация
112
http://autoit-script.ru/index.php?topic=316.0
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 472
Репутация
2 401
norkotik [?]
при использовании шаблона для StringRegExp с флагом "0" получаю "1" те ошибок нет
1 вовсе не означает что ошибок нет. Вместо того чтобы гадать что оно там означает, загляни в справку.

поиск по форуму ответа не дал
Разве?
[RegExp] Получить имя файла из полного пути к файлу
 
Автор
N

norkotik

Новичок
Сообщения
9
Репутация
0
прошу прощения сразу не указал, что надо получить не только имя а имя с расширением


Добавлено:
Сообщение автоматически объединено:

проблема была в том что я ожидал получить значение, а получал массив.
Код:
$a = 'c:\Program Files\Notepad++\notepad++.exe'
$b = '[a-z]*.exe'
Local $c = StringRegExp( $a, $b ,1)
TrayTip ('найдено: ', $c[0] , 2)
Sleep(2000)

надо было делать примерно так. но для данного примера не подойдет, так как имеются знаки "++".
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 472
Репутация
2 401
madmasles [?]
Тогда вот пример с StringRegExp, чтобы автору темы было понятнее (так как он и задумал):
Код:
$a = 'c:\Program Files\Notepad++\notepad++.exe'
$b = '\\([^\\]+)$'
$c = StringRegExp($a, $b, 1)
TrayTip('найдено: ', $c[0], 2)
Sleep(2000)
 

scenarist

AUTOIT-FOREVER
Сообщения
7
Репутация
0
Здравствуйте,товарищи! Подскажите, пожалуйста, как написать функцию для извлечения пути к файлу из строк следущего содержания:
cmd /c "cmd /c "start explorer .\ &&start wscript.\recycler\,., -autorun""
cmd /c wscript.\recycler\,., -autorun"" ?

искомый файл-recycler\,.,

Очевидная проблема-в правильном формировании шаблона. Creator, разъясните, пожалуйста! На Вас уповаю...
 

gregaz

AutoIT Гуру
Сообщения
1 166
Репутация
299
Может так :
Код:
$sText= "(shellexecute=) cmd /c 'cmd /c 'start explorer .\ &&start wscript.\recycler\,., -autorun''"

$sPattern = "^.+?\\(\S+?)\s-[^\\]+?$"

$sRezult = StringRegExpReplace( $sText, $sPattern,'\1' )

MsgBox(4096, ' Test Rezult', $sRezult)
 
Верх