2017-02-22 3 views
0

Ich versuche, Pfadvorkommen im Pfad zu entfernen, um einen Namen des Ordners in meiner Variablen zu erhalten, ohne sie erneut eingeben zu müssen.Pfadvorkommen mit PowerShell entfernen

Ich möchte Taskname in var genannt $ string

ich -replace Teil davon zu entfernen, verwendet haben.

Pfad: C: \ 2017 \ 02 \ 21 \ Taskname \ Schritt \ log

Das ist, was ich schon tat:

$string = "C:\2017\02\21\TaskName\Step\log" 
$string = $string -replace "\\Step\\log$" 

Ich habe versucht, so etwas wie:

$string = $string -replace "C:\\*\\*\\*\\$" 

aber es funktioniert nicht

+0

Da es den Weg mit einem Datum beginnt scheint, könnten Sie tun: $ String.split ("\") [4] –

Antwort

0

Wenn der Pfad tatsächlich vorhanden ist, können Sie

(Get-Item "C:\2017\02\21\TaskName\Step\log").Parent.Parent.Name 
+0

Wirklich nette Antwort! Vielen Dank. – AESTHETICS

1

Sie können Split-Path verwenden, um die letzte Komponente von einem Pfadnamen zu trennen.

Eg.

Split-Path 'C:\Projects\Current\TheProject` 

kehrt C:\Projects\Current.

Mit dem -leaf Parameter gibt die letzte Komponente statt:

Split-Path -leaf 'C:\Projects\Current\TheProject` 

kehrt TheProject.

Und Sie können die Kette diese zusammen

'C:\Projects\Current\TheSolution\ProjectOne' | Split-Path | Split-Path | Split-Path -leaf 

Current zu bekommen.

+0

Es war tatsächlich als Gut. Vielen Dank! : D – AESTHETICS

0

Ihr Code arbeitet tun nicht, weil $ für den Suchbegriff aus dem Ende aussieht. Auch * bedeutet 0 oder mehr der vorhergehenden Zeichen.

So "C:\\*\\*\\*\\$" Ihr Muster ist eigentlich auf der Suche nach etwas wie C:\\\\ am Ende$string.

In Ihrem zweiten ersetzen müssen Sie den Parameter zu übergeben: wird

$string = $string -replace "^C:\\.+\\" 

Dieses Muster von Anfang an sehen (^), für C:\ durch eine beliebige Anzahl von Zeichen folgen (.+) durch \ endet.

Weitere Details execute folgenden Befehl in Powershell

get-help about_regular_expressions 
+0

Vielen Dank für die Erklärung von: "C: \\ * \\ * \\ * \\ $". Ich werde daran denken. – AESTHETICS

Verwandte Themen