【问题标题】:Exporting directory file names导出目录文件名
【发布时间】:2019-07-24 15:15:08
【问题描述】:

我正在尝试创建一个脚本,该脚本提示输入要导出到 .csv 的路径,该路径显示文件夹的名称和文件夹内容的名称。像这样,但没有模式和长度。

我想保留每个文件夹之间的间隙。

示例 - (没有模式/长度)

目录:C:\Users\khalifam\Desktop\TestFolder1 模式 LastWriteTime 长度 名称 ---- ------------- ------ ---- d----- 24/07/2019 15:50 TestFolder2 d----- 24/07/2019 15:50 TestFolder3 目录:C:\Users\khalifam\Desktop\TestFolder1\TestFolder2 模式 LastWriteTime 长度 名称 ---- ------------- ------ ---- -a---- 30/05/2019 11:05 1696 EC2Key1.pem 目录:C:\Users\khalifam\Desktop\TestFolder1\TestFolder3 模式 LastWriteTime 长度 名称 ---- ------------- ------ ---- -a---- 2019 年 5 月 31 日 16:16 22027

到目前为止我的脚本:

$FilePathLocation = Read-Host -Prompt 'Please enter the the path of the fold you wish to export'

Set-Location $FilePathLocation

gci -Recurse | select DirectoryName, FullName | FT

当前输出:

请输入您要导出的文件夹的路径:C:\Users\khalifam\Desktop\TestFolder1 DirectoryName FullName 根 ------------- -------- ---- C:\Users\khalifam\Desktop\TestFolder1\TestFolder2 C:\ C:\Users\khalifam\Desktop\TestFolder1\TestFolder3 C:\ C:\Users\khalifam\Desktop\TestFolder1\TestFolder2 C:\Users\khalifam\Desktop\TestFolder1\TestFolder2\EC2Key1.pem C:\Users\khalifam\Desktop\TestFolder1\TestFolder3 C:\Users\khalifam\Desktop\TestFolder1\TestFolder3\Dropbox-CCEN-Course.docx

【问题讨论】:

    标签: powershell export get-childitem


    【解决方案1】:

    先递归枚举目录,然后不递归处理每个目录的内容。请注意,由此生成的输出不是实际的 CSV。

    Get-ChildItem $FilePathLocation -Directory -Recurse | ForEach-Object {
        "{0}`n" -f $_.FullName
        Get-ChildItem $_.FullName |
            Select-Object Name, LastWriteTime |
            Format-Table |
            Out-String
    } | Set-Content 'output.txt'
    

    另请注意,这需要 PowerShell v3 或更新版本。如果您坚持使用旧版本,则需要删除参数 -Directory 并改用 Where-Object 过滤器。

    【讨论】:

    • 完美,谢谢,你能解释一下这背后的逻辑吗?
    【解决方案2】:

    你拥有大部分。

    $FilePathLocation = Read-Host -Prompt 'Please enter the the path of the fold you wish to export'
    
    Get-ChildItem $FilePathLocation -Recurse | select DirectoryName, FullName | Export-Csv C:\PathStuff.csv
    

    如果你想导出到 csv,你不能使用 Format-Table,它会弄乱输出

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多