Powershell获取Windows中显示的区分大小写的路径

Eri*_*ric 5 windows powershell windows-subsystem-for-linux

我正在寻找一种方法来获取本地路径,其中包括名称中使用的任何驼峰式大小写。主要原因是我可以使用相同的路径在 Windows wsl 中进行调用。例如,在 Windows 中我可以将文件称为

c:\FoO\bar.txt 
c:\Foo\Bar.txt
Run Code Online (Sandbox Code Playgroud)

Windows 会将其显示为c:\foo\bar.txt. 当我尝试使用 bash 输入 WSL 时,我需要知道实际路径,因为 Linux 区分大小写。

我尝试过使用

$PSScriptRoot
Split-path C:\FoO\Bar.txt
(get-Item c:\Foo\Bar.txt).FullName
Run Code Online (Sandbox Code Playgroud)

但他们只会提供调用脚本的路径。
如何获取 Windows 操作系统中显示的路径?我不能只调用我需要的文件的完整路径,因为我不能保证它从根目录开始。我也不想在查找过程中浪费时间。

Sam*_*rdo 3

您想要的是查看Target您从中取回的财产Get-ItemFullname无论您最初输入什么,都会返回,但Target实际上是一个代码属性,似乎获取对象的原始路径。

(get-Item c:\Foo\Bar.txt).Target
Run Code Online (Sandbox Code Playgroud)

  • 此处目标为空:-(。我在 Windows 10 上使用 powershell 5 (12认同)