我有一个文件README.TXT
。如果我发出以下命令:
PS> Get-Item ReadMe.txt
Run Code Online (Sandbox Code Playgroud)
...然后它返回“ReadMe.txt”。我想找出磁盘上文件的实际名称,包括大小写。我如何让它返回“README.TXT”?
我之所以这么问,是因为我试图找出 Windows 上不区分大小写的文件名与 Unix 机器上的区分大小写文件的问题,我想获得 Windows 机器上使用的实际案例。
更多细节:我有一个文件列表(存储在.CSPROJ
文件中),它们与存储在磁盘上的文件不同。我想确保它们匹配。例如:如果.CSPROJ
文件显示“ReadMe.txt”,但磁盘上的文件是“README.TXT”,有时在 Visual Studio 中编辑文件会将文件重写为“ReadMe.txt”,这会混淆 Perforce,因为它是这样的-sensitive,并且文件名不再具有预期的大小写。我想编写一个脚本来发现不匹配的文件名,以便我可以在它们导致问题之前对其进行处理。
这是我想出的:
function Get-ActualFileName($file) {
$parent = Split-Path $file
$leaf = Split-Path -Leaf $file
$result = Get-ChildItem $parent | where { $_ -like $leaf }
$result.Name
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1661 次 |
最近记录: |