Что нового

[RegExp] Как обойти проблему разных имен папок

vitaliy4us

Новичок
Сообщения
158
Репутация
4
На разных машинах по-разному называется одна и та же папка, используемая в указании пути к удаляемой папке. Например, на одной машине:
C:\Folder1\Folder2\Administrator\Folder3\FolderToBeDeleted
на другой:
C:\Folder1\Folder2\admin\Folder3\FolderToBeDeleted
т.е. разница в именах папок Administrator и admin, все остальные имена одинаковые. Как применить функцию DirRemove() для удаления папки FolderToBeDeleted чтобы она работала на обеих машинах (что то типа DirRemove("C:\Folder1\Folder2\admin*\Folder3\FolderToBeDeleted") )
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
vitaliy4us
типа так
Код:
DirRemove(@UserProfileDir & "\Folder3\FolderToBeDeleted")


а может так?
Код:
MsgBox(0, 'Сообщение', "C:\Folder1\Folder2\"&@UserName&"\Folder3\FolderToBeDeleted")
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
vitaliy4us
Или найти конечную папку поиском, как в этой теме:
http://autoit-script.ru/index.php?topic=11174.0
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Код:
#Include <FileOperations.au3>
$array = _FO_FolderSearch(@HomeDrive & '\Folder1','FolderToBeDeleted',True,125,1,2)
DirRemove($array[0]);будет удалена первая найденная папка с искомым именем.
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
joiner
При условии, что имя папки "FolderToBeDeleted" является уникальным, но если её имя встретится в других папках то результат может оказаться ложным.

Мой вариант строится на предположении что имя связано с именем пользователя, но опять же это может быть не так.

Вариант ещё

_PathSearch
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
я исходил из предложенной задачи. папки лежат в корне системного диска. удаляемая папка одна. то есть других папок с таким именем нет. ну а как точно на самом деле знает только ТС :smile:
ну если связано с именем пользователя
то тогда так
Код:
DirRemove(@HomeDrive & '\Folder1\Folder2\' & @UserName & '\Folder3\FolderToBeDeleted')
 
Верх