Что нового

Определение дочерней папки

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Код:
'C:\Users\Brut\Desktop\1\2\3\4\5\6'
Как определить, что папка 6 является дочерней по отношению к папке 4 ?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
joiner,
Может, примерно так?
Код:
Local $sPath = 'C:\Users\Brut\Desktop\1\2\3\4\5\6', $sDirChild = '6', $sDirParent = '4', $iPosChild, $iPosParent, $aTmp

$aTmp = StringRegExp($sPath, '(?:^|\\)(' & $sDirChild & ')(?:\\|$)', 1);спец.символы надо найти и экранировать?
If @error Then Exit @ScriptLineNumber
$iPosChild = @extended
$aTmp = StringRegExp($sPath, '(?:^|\\)(' & $sDirParent & ')(?:\\|$)', 1);спец.символы надо найти и экранировать?
If @error Then Exit @ScriptLineNumber
$iPosParent = @extended
ConsoleWrite(($iPosParent < $iPosChild) & @LF)
 
Автор
joiner

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
возможно.
я привел частный момент. бывают ситуации, когда пути и части названий совпадают
Код:
C:\Users\Brut\Desktop\1
и
Код:
C:\Users\Brut\Desktop\1 копия
я копирую одну папку в другую. мне нужно определить не является ли папка назначения дочерней по отношению к копируемой папке.
 

winstan

Эксплотатор)
Сообщения
406
Репутация
79
joiner
В данном случаи могу посоветовать добавлять обратный сплеш в конце пути :smile:
 
Автор
joiner

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
ха, точно. в таком случае так
Код:
StringInStr('C:\Users\Brut\Desktop\1 копия\','C:\Users\Brut\Desktop\1\')

протестил, пока работает..
 
Верх