У MMB есть функции для извлечения пути, диска,директории, имени файла, расширения, а этот пример показывает способо "разложения пути" на более конкретные части, тоесть: диск, директория со всеми её папками (!), и имени файла, этот скрипт может работать с любыми путями, однако, если путь ведет к файлу, которого не сущесвует, то имя файла будет последним элементом в массиве с элементами директории.
Code
path$='C:\Documents and Settings\Admin\Мои документы\file.txt'
LoadText("r$","\")
h$='#'
nPath$=StrChange(path$,r$,h$)+'#'
val=GetArrayNum(nPath$,#)
disc$=GetArrayItem(nPath$,#,1 )
val1=val
For i=2 To val1
folber$=GetArrayItem(nPath$,#,i)
what$=disc$+ExtractDir(path$)+folber$
FileExist("what$","ok")
If (ok=1) Then
file$=GetArrayItem(nPath$,#,i)
val=i
Else
r=r+1
folber$[r]=GetArrayItem(nPath$,#,i)
End
Next i
r=0
Некоторые пояснения: LoadText("r$","\") - используется для загрузки символа \, который не может загружаться в текстовую переменную без пробела.
В переменной path$ ваш путь, который нужно разложить.
-----------------------------------------------------
Пример использования: создаем скрипт, закидываем туда этот код (без строки path$='C:\Documents and Settings\Admin\Мои документы\file.txt'), в нужном месте создаем комманду RunScript("имя вашего скрипта"), в переменно path$ перед запуском скрипта должен быть нужный для разложения путь.
После работы скрипта - вот так можно считать значения:
Code
Message("","disc$")
For i=1 To r
Message("","folber$[i]")
Next i
Message("","file$")
т.е. disc$ = имя диска, в массиве folber$[] эллементы пути без диска, в file$ имя файла с расширением, в переменной r - количесвто элементов в массиве folber$[].