.Net hook, чтобы получить имя папки из пути в Powershell - PullRequest
0 голосов
/ 02 октября 2018

Я видел это решение: Получить имя папки из полного пути к файлу

И был принят следующий ответ:

string dirName = new DirectoryInfo(@"c:\projects\roott\wsdlproj\devlop\beta2\text").Name;

Но это в C #.В настоящее время я пытаюсь .net перехватить этот метод и заставить его работать в powershell, но я не уверен, как правильно использовать объект.

Это то, что у меня сейчас:

$AppPath = "$null"
$PathArray = @()
$ParentFolderNames = @()
$DirObject = New-Object -TypeName System.IO


Get-ChildItem -Path $ServerPath | Select-Object FullName | ForEach-Object {

    ## $_.GetType()
    $String = ("$_.").ToString()
    $PathArray += $String.Split("=")[1]

}

foreach ($object in $PathArray){
    ## $ParentFolderNames += $object.Split("$\*")[1]

    $ParentFolderNames += $DirObject.DirectoryInfo("$Object").Name

}
$ParentFolderNames

Я получаю сообщение об ошибке: «Вы не можете вызвать метод для выражения с нулевым значением».Однако $ object не является нулевым.

Я получаю желаемый результат, когда вызываю его в цикле foreach.Но я не могу заставить этот .net-хук захватить последнее имя папки.

Редактировать: И я понял, что пытаюсь изобрести колесо.Я должен был просто сделать «Select-Object Name» вместо «FullName».А потом использовал Trim, чтобы избавиться от любых персонажей, которые мне не нужны.

Но я все же хотел бы знать, как правильно использовать этот крючок .Net

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...