Wenn Sie ein .NET-Objekt von PowerShell verwenden, und es einen Dateinamen akzeptiert, scheint es immer relativ zu C:\Windows\System32
zu sein.Warum verwenden .NET-Objekte in PowerShell nicht das aktuelle Verzeichnis?
Zum Beispiel:
[IO.File]::WriteAllText('hello.txt', 'Hello World')
... wird C:\Windows\System32\hello.txt
schreiben, anstatt C:\Current\Directory\hello.txt
Warum Powershell dies tun? Kann dieses Verhalten geändert werden? Wenn es nicht geändert werden kann, wie kann ich es umgehen?
Ich habe versucht, Resolve-Path
, aber das funktioniert nur mit Dateien, die bereits existieren, und es ist viel zu ausführlich, die ganze Zeit zu tun.
möglich Duplikat [Warum ist Powershell-Lösung Pfade von $ home anstelle des aktuellen Verzeichnisses?] (http://stackoverflow.com/questions/4071775/why-is-powershell-resolving-paths-from-home-instead-of-the-current-directory) –