当您使用 PowerShell 中的 .NET 对象并且它采用文件名时,它似乎总是相对于C:\Windows\System32
.
例如:
[IO.File]::WriteAllText('hello.txt', 'Hello World')
...会写C:\Windows\System32\hello.txt
,而不是C:\Current\Directory\hello.txt
为什么 PowerShell 会这样做?这种行为可以改变吗?如果无法更改,我该如何解决?
我试过Resolve-Path
了,但这只适用于已经存在的文件,而且它太冗长而不能一直这样做。