Windows:如何以大小和上次访问日期递归列出文件?

Bai*_*ock 22 windows console powershell

我需要一种简单的方法来创建某个文件夹中所有文件的列表.(递归的)

每个文件必须在一行中.我还需要同一行中的文件大小和最后访问日期,用特殊字符分隔.

输出(文本文件)应如下所示:

c:\folder\file1.txt|400|2012-11-12 15:23:08
c:\folder\file2.txt|200|2012-11-12 15:23:08
c:\folder\file3.txt|100|2012-11-12 15:23:08
c:\folder\sub folder\file4.txt|500|2012-11-12 15:23:08
Run Code Online (Sandbox Code Playgroud)

'Dir'似乎不是一个选择,因为德国特殊字符就这样搞乱了.(öäüß)

Powershell可以很好地处理特殊字符,但是我无法使它成为一个文件的信息在一行中结束:

get-childitem D:\temp -rec | where {!$_.PSIsContainer} |  foreach-object -process {$_.FullName, $_.LastWriteTime, $_.Length}
Run Code Online (Sandbox Code Playgroud)

CB.*_*CB. 44

试试这个:

get-childitem D:\temp -rec | where {!$_.PSIsContainer} |
select-object FullName, LastWriteTime, Length | export-csv -notypeinformation -delimiter '|' -path file.csv
Run Code Online (Sandbox Code Playgroud)