none
Variable kürzen ab einem bestimmten Zeichen rückwärts RRS feed

  • Frage

  • Hallo Powershellspezialisten

    Ich habe in einem Script eine Variable (Profilpfad die ich abändern will. Die Variable sieht folgendermassen aus:

    \\king.hamburg.corp\Finanz\hans
    oder
    \\king.hamburg.corp\Finanz\hans2

    nun möchte ich nur den Teil weiterverwenden der vor dem letzten '\' vorkommt. Ich habe einiges mit String probiert aber bin nicht weitergekommen.

    Soll = \\king.hamburg.corp\Finanz
    oder \\king.hamburg.corp\Finanz\

     Hat jemand die Lösung?

    Danke & Gruss

    florian

    Dienstag, 26. Februar 2013 13:29

Antworten

  • Ich benutze hier immer gerne einen Split, macht das etwas einfacher zu lesen und zu ändern:

    ("\\king.hamburg.corp\Finanz" -split "\\")[-1]
    ("\\king.hamburg.corp\Finanz" -split "\\")[-2]


    -Raimund

    Mittwoch, 27. Februar 2013 17:06

Alle Antworten

  • Hallo,

    so auf die schnell fällt mir folgende Lösung ein:

    $var = "\\king.hamburg.corp\Finanz\hans2"
    $regex = [regex]"\\\\(.*)\\(.*)\\"
    $regex.Match($var).Value

    MfG

    Schlieng

    • Als Antwort vorgeschlagen Alex Pitulice Donnerstag, 28. Februar 2013 11:43
    Dienstag, 26. Februar 2013 14:39
  • Du kannst vom String die LastIndex() Methode benutzen die dir die Position vom Lesten vorkommen eines Zeichens gibt.
    Daraus macht dir die Substring() Methode dann einen neuen String:

    $Path = "\\king.hamburg.corp\Finanz"
    $Path.Substring($Path.LastIndexOf('\') + 1)

    Siehe in der String Dokumentation die Methoden!:
    http://msdn.microsoft.com/de-de/library/vstudio/system.string_methods.aspx

    und :
    http://technet.microsoft.com/en-us/library/ee692804.aspx


    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!

    • Als Antwort vorgeschlagen Alex Pitulice Donnerstag, 28. Februar 2013 11:43
    Dienstag, 26. Februar 2013 16:38
  • Ich benutze hier immer gerne einen Split, macht das etwas einfacher zu lesen und zu ändern:

    ("\\king.hamburg.corp\Finanz" -split "\\")[-1]
    ("\\king.hamburg.corp\Finanz" -split "\\")[-2]


    -Raimund

    Mittwoch, 27. Februar 2013 17:06
  • Das mit Split find ich gut ! Helpful UP!

    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!

    Mittwoch, 27. Februar 2013 18:08