PowerShell如何一致显示名称以+号开头的文件夹完整名称?
PowerShell 带+前缀文件夹名称显示异常解决方案
- 问题本质:你观察到的名称前缀+丢失现象,仅为PowerShell默认控制台输出格式化的显示问题,
Get-ChildItem返回的目录对象本身的Name、FullName属性始终保留完整的原始文件名,不受权限模式位影响。
补充说明:默认视图的显示异常是因为PowerShell目录输出的权限标记位与你文件名开头的+在排版时产生了显示冲突,仅影响控制台文本展示,不影响底层对象属性。
- 方案1:直接操作对象属性做逻辑判断
不需要调整查询命令,处理时直接取属性值即可,示例:
# 查询所有目录存入变量 $Folders = Get-ChildItem -LiteralPath $pwd -Directory # 按首字符处理逻辑示例 foreach ($dir in $Folders) { if ($dir.Name[0] -eq '+') { # 此处编写带+前缀文件夹的处理逻辑 } else { # 此处编写其他文件夹的处理逻辑 } }
- 方案2:控制台输出时强制显示完整文件名
如果需要在控制台直观查看完整名称,显式指定输出属性跳过默认格式化规则即可:
Get-ChildItem -LiteralPath $pwd -Directory | Format-Table Mode, LastWriteTime, Length, Name
内容的提问来源于stack exchange,提问作者Chris51
相关产品推荐
相关产品推荐

