Am gestrigen Tag hatte ich die Aufgabe bei einem Ordnerpfad eine Veränderung vorzunehmen. Dieses hatte ich auch bereits für andere Ordner auf dem Dateisystem vorgenommen. Somit nahm ich meinen Befehlsaufruf zur Hand. Schon beim Hinzufügen des Ordnerpfades in der PowerShell ISE merkte ich, dass etwas nicht stimmte.
Aufgrund eines Dollarzeichens in der Pfadangabe erwartete der Befehl nun die Angabe einer Variable. Ich hatte allerdings keine Lust in Zukunft für eine Handvoll Ordner erst Variablen zu definieren. Der Pfad war ja eigentlich korrekt. Die Interpretation von PowerShell störte in diesem Fall.
Nach ein bisschen experimentieren fand ich heraus, dass ein „Gravis“ (engl.: Backtick) mein Problem lösen kann:
#Defekte Pfade Get-childitem \\server\Freigabe\Ordner$Data1 Get-childitem \\server\Freigabe\Ordner$Data2 Get-childitem \\server\Freigabe\Ordner$Data3 #Funktionierende Pfade Get-childitem \\server\Freigabe\Ordner`$Data1 Get-childitem \\server\Freigabe\Ordner`$Data2 Get-childitem \\server\Freigabe\Ordner`$Data3
Mit diesem Zeichen definiert man, dass das Sonderzeichen ignoriert wird. Die Variable wird somit zum Pfad-Bestandteil. Dieses funktioniert auch bei weiteren Sonderzeichen wie zum Beispiel Klammern.