You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让PowerShell中ls命令不再显示"Directory:"头部信息?

解决PowerShell中ls命令重复显示目录头部的问题

这里提供两种可行的解决思路,根据你的需求选择:

方法一:快速自定义ls函数(输出文本,不保留对象)

如果不需要后续对输出结果进行管道对象操作,直接自定义ls函数,用Format-Table隐藏冗余的目录标题和表头:

function global:ls {
    # 调用Get-ChildItem并传递所有参数,格式化输出时隐藏表头
    Get-ChildItem @args | Format-Table Mode, LastWriteTime, Length, Name -HideTableHeaders
}

把这段代码放到PowerShell配置文件($PROFILE)里,就能永久生效。

方法二:修改格式数据(保留对象,支持后续管道操作)

如果需要输出结果仍为可操作的对象,就需要修改PowerShell的格式定义文件:

  1. 创建一个名为CustomFileFormat.ps1xml的文件,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
  <ViewDefinitions>
    <View>
      <Name>customDirectoryView</Name>
      <ViewSelectedBy>
        <TypeName>System.IO.DirectoryInfo</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Mode</Label>
            <Width>7</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>LastWriteTime</Label>
            <Width>25</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Length</Label>
            <Width>10</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Name</Label>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Mode</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>LastWriteTime</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Length</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>customFileView</Name>
      <ViewSelectedBy>
        <TypeName>System.IO.FileInfo</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Mode</Label>
            <Width>7</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>LastWriteTime</Label>
            <Width>25</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Length</Label>
            <Width>10</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Name</Label>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Mode</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>LastWriteTime</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Length</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
  </ViewDefinitions>
</Configuration>
  1. 在PowerShell中加载这个自定义格式文件:
Update-FormatData -PrependPath .\CustomFileFormat.ps1xml
  1. 要永久生效,把上面的Update-FormatData命令添加到你的PowerShell配置文件($PROFILE)中。

原理说明

PowerShell通过.ps1xml格式文件定义不同类型对象的显示规则,默认的System.IO.DirectoryInfo视图会输出当前目录路径作为标题。上面的方法要么直接绕过默认格式输出文本,要么替换掉默认的视图配置,从而去掉冗余的目录头部。

内容的提问来源于stack exchange,提问作者steve02081504

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 10:12:06