2017-11-29 9 views
0

Ich bin neu in der Lernpower. Ich versuche, "Testfile.txt" aus dem Azure Data See Store-Pfad \data\sb\published\Juned\Testfile.txt in meinem Powershell-Skript zu extrahieren. Ich benutze ("\data\sb\published\Juned\Testfile.txt" -split '\')[0].Powershell - wie Teilstring extrahieren

Dies zeigt den Fehler

parsing "\" - Illegal \ at end of pattern. 
At line:1 char:1 
+ ("\data\sb\published\Juned\Testfile.txt" -split '\')[0] 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : OperationStopped: (:) [], ArgumentException 
    + FullyQualifiedErrorId : System.ArgumentException 
+0

FYI: Der genaue Grund für Ihren Fehler liegt darin, dass --split Regex verwendet und \ ein Regex-Zeichen ist. Die folgende Antwort verwendet die .split-Methode, die Regex nicht verwendet. –

Antwort

0

Sie das split-path Cmdlets mit dem -leaf Parameter den Dateinamen zu erhalten mit extenstion verwenden können: Sie split-path "\data\sb\published\Juned\Testfile.txt" -leaf

Wenn Sie absolutly haften möchten mit Ihrem geteilten Ansatz Wählen Sie das letzte Element ([-1] anstelle von [0], das das erste Element ist): "\data\sb\published\Juned\Testfile.txt".split('\')[-1]

+0

Vielen Dank für die schnelle Hilfe. Split-Pfad "\ data \ sb \ published \ Juned \ Testfile.txt" funktioniert. – juned

0

Diese 2 Methoden für mich gearbeitet:

split-path "H:\Documents\devops\tp-mkt-SPD-38.4.10.msi" -leaf 

tp-MKT-SPD-38.4.10.msi

[System.IO.Path]::GetFileName("C:\abc\xyz\test.txt") 

test.txt

[System.IO.Path]::GetFileNameWithoutExtension("C:\abc\xyz\test.txt") 

Test

+0

Vielen Dank für die schnelle Hilfe. Split-Pfad "\ data \ sb \ published \ Juned \ Testfile.txt" funktioniert. – juned

Verwandte Themen