Powershell 获取 windows 中显示的区分大小写的路径
Powershell get case sensitive path as displayed in windows
我正在寻找一种方法来获取我的本地路径,其中包括名称中使用的所有驼峰式大小写。主要原因是我可以使用相同的路径在 windows wsl 中进行调用。例如,在 windows 中,我可以将文件称为
c:\FoO\bar.txt
c:\Foo\Bar.txt
和windows会将其显示为c:\foo\bar.txt
。当我尝试使用 bash 进入 WSL 时,我需要知道实际路径,因为 Linux 区分大小写。
我试过使用
$PSScriptRoot
Split-path C:\FoO\Bar.txt
(get-Item c:\Foo\Bar.txt).FullName
但他们只会提供调用脚本的路径。
如何获取 windows os 中显示的路径?
我不能只调用我需要的文件的完整路径,因为我不能保证它从根目录开始。我也不想耗尽循环查找。
使用 Windows 文件资源管理器查找目录,它会显示完整路径名。
在 WSL 或 PowerShell 中找到目录,"pwd" 或 "echo $PWD" 给出完整路径名。
将目录添加到 $HOME/.profile 中的 PATH,您不需要完整路径名。
我有一些自动化的方法来做到这一点。
见http://ContextKnowledge.blog
"myenv package for Windows 10 + Cygwin + WSL/Ubuntu"
该软件包包含一些简短的 shell 脚本
其中找到信息并将其记录在环境变量中。
如果这些 shell 脚本不适合您,请联系我了解更多详情
我会想出办法的。
你想要的是看看你从Get-Item
回来的Target
属性。 Fullname
会返回,无论您最初输入的是什么,但 Target
实际上是一段代码 属性,它似乎获取了对象的原始路径。
(get-Item c:\Foo\Bar.txt).Target
我正在寻找一种方法来获取我的本地路径,其中包括名称中使用的所有驼峰式大小写。主要原因是我可以使用相同的路径在 windows wsl 中进行调用。例如,在 windows 中,我可以将文件称为
c:\FoO\bar.txt
c:\Foo\Bar.txt
和windows会将其显示为c:\foo\bar.txt
。当我尝试使用 bash 进入 WSL 时,我需要知道实际路径,因为 Linux 区分大小写。
我试过使用
$PSScriptRoot
Split-path C:\FoO\Bar.txt
(get-Item c:\Foo\Bar.txt).FullName
但他们只会提供调用脚本的路径。
如何获取 windows os 中显示的路径?
我不能只调用我需要的文件的完整路径,因为我不能保证它从根目录开始。我也不想耗尽循环查找。
使用 Windows 文件资源管理器查找目录,它会显示完整路径名。
在 WSL 或 PowerShell 中找到目录,"pwd" 或 "echo $PWD" 给出完整路径名。
将目录添加到 $HOME/.profile 中的 PATH,您不需要完整路径名。
我有一些自动化的方法来做到这一点。
见http://ContextKnowledge.blog
"myenv package for Windows 10 + Cygwin + WSL/Ubuntu"
该软件包包含一些简短的 shell 脚本
其中找到信息并将其记录在环境变量中。
如果这些 shell 脚本不适合您,请联系我了解更多详情
我会想出办法的。
你想要的是看看你从Get-Item
回来的Target
属性。 Fullname
会返回,无论您最初输入的是什么,但 Target
实际上是一段代码 属性,它似乎获取了对象的原始路径。
(get-Item c:\Foo\Bar.txt).Target