我自动从应用程序中获取目录,但我似乎无法获得具有正确字母大小写的实际目录。
例如,我得到$a='C:\test\dir\log\wqerst'
,但实际目录为C:\test\dir\log\WQERST
。
我想要的只是大写wqerst
所以它会显示C:\test\dir\log\WQERST
我已经尝试使用substring
,但我不知道如果它是大写的,我将如何将它连接到整个目录。
答案 0 :(得分:1)
由于James C.和vonPryz已经写过,因此获取区分大小写的文件夹路径并不重要。但是,您可以使用此辅助方法:
function Get-CaseSensitiveFilePath
{
Param
(
[string]$FilePath
)
$parent = Split-Path $FilePath
$leaf = Split-Path -Leaf $FilePath
$result = Get-ChildItem $parent | where { $_ -like $leaf }
$result.FullName
}
<强>用法:强>
Get-CaseSensitiveFilePath -FilePath 'C:\test\dir\log\WQERST'
这将为您提供区分大小写的文件夹名称,但该目录必须存在于您执行脚本的计算机上...
答案 1 :(得分:1)
Windows系统不区分大小写,但如果你真的想要这个结果,你可以这样做:
$a='C:\test\dir\log\wqerst'
$parentpath=Split-Path -Path $a
$file=(Split-Path -Path $a -Leaf).ToUpper()
$result=Join-Path $parentpath $file
$result