Khi bạn sử dụng đối tượng .NET từ PowerShell và phải có tên tệp, tên này dường như luôn liên quan đến C:\Windows\System32
.Tại sao các đối tượng .NET trong PowerShell không sử dụng thư mục hiện tại?
Ví dụ:
[IO.File]::WriteAllText('hello.txt', 'Hello World')
... sẽ viết C:\Windows\System32\hello.txt
, chứ không phải là C:\Current\Directory\hello.txt
Tại sao PowerShell làm điều này? Hành vi này có thể thay đổi không? Nếu nó không thể thay đổi, làm thế nào để tôi làm việc xung quanh nó?
Tôi đã thử Resolve-Path
, nhưng chỉ hoạt động với các tệp đã tồn tại và quá dài để làm mọi lúc.
thể trùng lặp của [Tại sao PowerShell giải quyết con đường từ $ home thay vì thư mục hiện tại?] (http://stackoverflow.com/questions/4071775/why-is-powershell-resolving-paths-from-home-instead-of-the-current-directory) –