none
Powershell Variable erstellen die als Leerzeichen zählt RRS feed

  • Frage

  • Hallo zusammen

    Ich kontrolliere einen Pfad auf bestimmte Zeichen. ZB: ! oder Umlaute (äöü)

    Nun will ich aber auch kontrollieren ob in einem Pfad Dateinamen mit Leerzeichen gegeben wurden. ZB: Test Ordner (anstelle von Test_Ordner)

    #Angabe der Variable mit Leerzeichen
    $fb1 = " " $fb1 = [regex]::escape($fb1) foreach ($dir in $dirlist) { if ($dir -match "($fb1)") { "$dir" | add-content "$CSV" #Schreibt Variable $dir in die CSV-Datei, $sort = import-csv "$CSV" -delimiter ";" | Sort-Object -Property Laenge -Descending "" | set-content "$CSV" $sort | export-csv "$CSV" -delimiter ";" –NoTypeInformation $countfehler = $countfehler + 1 } }

    Wenn ich nur zwei " mit einem Leerzeichen dazwischen schreibe, funktioniert das nicht. Was auch nicht sehr überraschend ist^^
    Aber wie kann ich jetzt in der Variable ein Leerzeichen angeben?

    Danke im Voraus :)

    Freitag, 15. Dezember 2017 11:29

Antworten

Alle Antworten

  • Warum nicht einfach $dir.contains( " " ) ?

    Freitag, 15. Dezember 2017 12:04
  • Sorry ich depp habe in der IF-Schleife gar nicht nach der $fb1 Variable durchsucht xDDD

    Aber danke dir vielmals!!

    Freitag, 15. Dezember 2017 12:16
  • Versuch doch mal
    '\W|Ö|Ä|Ü|ö|ä|ü'
    als -match pattern ... sollte eigentlich auch reichen  ;-)

    Edit: Ich Dussel .... in Powershell sollte eigentlich auch das reichen:

    '\W|ö|ä|ü'

    ... weil ja -match im Standard erst mal case insensitiv ist, gelle?  ;-) :-D

    Best regards,

    (79,108,97,102|%{[char]$_})-join''


    • Bearbeitet BOfH-666 Freitag, 15. Dezember 2017 12:35
    Freitag, 15. Dezember 2017 12:26
  • Hallo,

    in deinem Fall würde ich mit RegEx arbeiten:

    $Regex = [regex]"\s|ä|ö|ü|Ä|Ö|Ü"
    $Path = "C:\Program Files\Microsoft"
    IF ( $Regex.Match($Path).Success ) {
    	Write-Host "Umlaute oder Leerzeichen enthalten"
    } else {
    	Write-Host "Keine Umlaute oder Sonderzeichen enthalten"
    }

    lg

    Montag, 18. Dezember 2017 08:42