Ich versuche die Existenz einer Datei zu validieren, aber das Problem ist, dass der Dateiname Klammern im Namen hat, zB c: \ test [R] 10005404, Failed with Kommentare, [S] SiteName.txt.
Ich habe versucht, die Methode .replace ohne Erfolg zu verwenden.
%Vor%Ideen würden sehr geschätzt werden. Danke, ChrisM
Versuchen Sie es mit dem Parameter -LiteralPath:
%Vor%Eckige Klammern haben eine besondere Bedeutung.
Es ist eigentlich eine POSIX-Funktion, damit Sie dies tun können:
%Vor%Damit erhalten Sie alle Dinge im aktuellen Verzeichnis, die mit den Buchstaben A bis F beginnen. Bash hat die gleiche Funktion.
Es gibt mindestens drei Möglichkeiten, um es zum Laufen zu bringen.
Wenn Sie etwas Ähnliches verwenden, müssen Sie bei Verwendung von Anführungszeichen zwei Backticks hinzufügen, da ein einzelner Backtick als Escapezeichen ausgewertet wird, bevor er an die Methode Replace
gesendet wird.
Die Verwendung von einfachen Anführungszeichen in der Methode Replace
verhindert auch, dass die Backticks entfernt werden.
Schließlich können Sie den Parameter LiteralPath
verwenden, der keine Platzhalter verwendet (die eckigen Klammern werden von PowerShell-Übereinstimmungen verwendet, um eine Reihe von Zeichen zu definieren, die angepasst werden können).
Tags und Links powershell powershell-v2.0 powershell-ise