Тест в PowerShell кодирует, если папка является точкой соединения?

Как я могу протестировать в коде PowerShell, если папка является точкой соединения?

5
задан Serge van den Oever 22 February 2010 в 13:28
поделиться

2 ответа

Взгляните на этот блог: https://web.archive.org/web/20190422210654/https://devblogs.microsoft.com/powershell/viewing-junctions-with- dir /

способ сделать это - скопировать встроенный файл форматирования файловой системы, изменить его так, чтобы указывались соединения, а затем загрузить его с помощью Update-FormatData :

Из блога:

Правила форматирования файловой системы: в $ pshome \ FileSystem.Format.ps1xml . Я скопировал это, затем в элемент [ViewDefinitions -> View -> TableControl -> TableRowEntries -> TableRowEntry -> TableColumnItems -> TableColumnItem] Я изменил содержимое PropertyName со значением 'Mode' на следующее:

  
 "$ ($ _. Mode ) $ (if ($ _. Attributes -band [IO.FileAttributes] :: ReparsePoint) 
 {'J'}) » 
 

Выполняется побитовое И на свойство Атрибуты объекта DirectoryInfo ( $ _. Attributes ) в отношении .Net System.IO.FileAttributes.ReparsePoint { {1}} значение перечисления. Если результат не равен нулю, он отображает "J" рядом с другими атрибутами режима файла . Затем загрузите новый файл форматирования следующим образом:

  PS> Update-FormatData -PrependPath myFilesystem.format.ps1xml 
 

Параметр PrependPath гарантирует, что { {1}} новый файл форматирования загружается перед встроенными файлами форматирования.

Ссылка на каталог имеет "J" в столбце режима , похоже, работает!

Он находится в столбце режима J для перекрестка .

5
ответ дан 18 December 2019 в 14:45
поделиться

К вашему сведению, если вы используете Расширения сообщества PowerShell , эта информация доступен как вывод (и как свойство примечания) при выводе Get-ChildItem:

21> gci .\Roaming\Microsoft\eHome


    Directory: Microsoft.PowerShell.Core\FileSystem::C:\Users...


Mode           LastWriteTime       Length Name
----           -------------       ------ ----
d----     2/15/2010 12:18 AM        <DIR> DvdCoverCache
d----      8/9/2009  1:10 AM    <SYMLINK> DvdInfoCache [\...
d----      8/8/2009 11:51 PM        <DIR> DvdInfoCache.orig
d----    10/22/2009  7:12 PM        <DIR> mcl_images

Однако для программного доступа я бы получил доступ к информации через свойство Attributes, как предлагает другой плакат.

1
ответ дан 18 December 2019 в 14:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: