Когда вы используете объект .NET из PowerShell, и он принимает имя файла, он всегда кажется относительно C:\Windows\System32
.
Например:
[IO.File]::WriteAllText('hello.txt', 'Hello World')
... будет писать C:\Windows\System32\hello.txt
, а не C:\Current\Directory\hello.txt
Почему PowerShell делает это? Можно ли изменить это поведение? Если он не может быть изменен, как мне его обойти?
Я пробовал Resolve-Path
, но это работает только с уже существующими файлами, и это слишком сложно делать все время.