|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] узнать, принадлежит ли файл каталогу |
|
PowerShell - [решено] узнать, принадлежит ли файл каталогу
|
Новый участник Сообщения: 3 |
Всем привет!
Как узнать, принадлежит ли файл каталогу (глубина вложенности произвольная)? Изначально пути и имена файлов и каталога НЕ известны, здесь заданы для примера. $Dir0 = Get-Item -Path "D:\Zero\" $File0 = Get-Item -Path "D:\Zero\One\Text0.txt" $File1 = Get-Item -Path "D:\Text0.txt" ![]() Спасибо откликнувшимся! |
|
Отправлено: 09:50, 04-09-2013 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 10:28, 04-09-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 124
|
Профиль | Отправить PM | Цитировать Цитата one:
|
|
------- Отправлено: 12:25, 04-09-2013 | #3 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Спасибо за оба варианта, но ни один из них, имхо, не рабочий.
Get-ChildItem -Path $sRootPath -Include $sFileName -Recurse -Force |` ForEach-Object -Process { if(!$_.PsIsContainer) { $_.FullName } } Т.е. для приведённого мной примера данных, оба файла будут считаться принадлежащими каталогу. Имена-то у них идентичные. Для приведённыго мной примера данных оба файла будут считаться НЕ принадлежащими каталогу, т.к. $file0.DirectoryName возвращает родительскую папку, которая может находиться (глубоко) в $Dir0. Да и вообще, хотелось-бы не текстовые строки разбирать и сравнивать, а получить решение на уровне объектов. Или я чего-то недопонимаю? ![]() |
Отправлено: 18:09, 05-09-2013 | #4 |
Ветеран Сообщения: 1758
|
|
|
Последний раз редактировалось Foreigner, 05-09-2013 в 22:36. Отправлено: 22:27, 05-09-2013 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать one, так Вы хотите задавать файлы именно полными именами?
$oFolder = Get-Item -Path "D:\Zero" $oFile01 = Get-Item -Path "D:\Zero\One\Text0.txt" $oFile02 = Get-Item -Path "D:\Text0.txt" $oFile01.FullName -like $oFolder.FullName + "*" $oFile02.FullName -like $oFolder.FullName + "*" Цитата one:
|
|
Отправлено: 23:33, 05-09-2013 | #6 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Но Ваш способ: для использования на практике решил мою проблему ![]() Спасибо большое! |
|
Отправлено: 10:09, 06-09-2013 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Как узнать, является ли файл вирусом? | GuitarFan | Хочу все знать | 5 | 27-05-2013 11:19 | |
C/C++ - Можно ли узнать, является ли тип тривиальным? | pva | Программирование и базы данных | 0 | 08-04-2011 16:30 | |
Помогите узнать что за файл | Alex85 | Хочу все знать | 2 | 16-07-2010 08:49 | |
Безопасность - Узнать, какому потоку принадлежит Хэндл | MBentefor | Хочу все знать | 26 | 18-03-2010 11:39 | |
Диагностика - Узнать, какому потоку принадлежит Хэндл | MBentefor | Программное обеспечение Windows | 1 | 15-03-2010 11:14 |
|