【问题标题】:Powershell: export-csv file lastwitenamePowershell:导出 csv 文件 lastwitename
【发布时间】:2014-05-19 10:23:34
【问题描述】:

我正在使用以下代码将文件的 lastwritetime 列表导出到 csv 文件中

LS c:\somepath |选择名称,上次写入时间 |导出-csv C:\x.csv

如何设置过滤器并排除所有文件夹或某些文件类型。

谢谢

更新

我试过 where {$_.extension -eq ".zip"} 但它什么也没返回

【问题讨论】:

  • 哪里 {$_.extension -eq ".zip"} ???

标签: powershell


【解决方案1】:

-exlude怎么样:

ls c:\somepath -exclude *.zip | select name, lastwritetime | export-csv C:\x.csv

顺便说一下lsGet-ChildItem的别名

【讨论】:

  • 这会排除 *archive 吗?文件夹
  • 我给出的示例将排除以 .zip 结尾的文件
【解决方案2】:

我们将一次满足您的 2 个要求。我将从排除文件夹开始。根据您使用的 PowerShell 版本,这可能非常简单。如果您使用的是 v3 或更高版本,您可以简单地使用 -Files 开关来排除文件夹。它会这样做:

LS C:\somefolder -files | select Name, LastWriteTime | export-csv c:\path\file.csv -notype

如果您使用的是 v2 或更早版本,则需要在使用 Where 语句提取目录列表后进行过滤(我使用缩写词 ?{} 而不是 Where{})。

LS C:\somefolder | ?{!$_.PSIsContainer} | Select Name, LastWriteTime | Export-CSV c:\path\file.csv -notype

接下来,要排除 .Zip 文件,您可以使用 -Exclude 参数排除内容。您希望以逗号分隔的字符串列出内容,例如“.Zip,.7z,*.rar”,它将排除 Zip、7z 和 Rar 档案。你会这样做:

gci C:\somefolder -Exclude "*.zip" | Select Name, LastWriteTime | Export-Csv C:\path\file.csv -notype

因此,要将所有这些放在一起,您可以执行以下操作:

gci C:\somefolder -Exclude "*.zip" | ?{!$_.PSIsContainer} | Select Name, LastWriteTime | Export-Csv C:\path\file.csv -notype

【讨论】:

    猜你喜欢
    • 2016-04-20
    • 2018-12-08
    • 1970-01-01
    • 1970-01-01
    • 2016-10-23
    • 1970-01-01
    • 2020-04-21
    • 1970-01-01
    相关资源
    最近更新 更多