遍历目录树和显示属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了遍历目录树和显示属性相关的知识,希望对你有一定的参考价值。

我一直试图遍历Windows 2008上的给定目录树(使用批处理脚本)一直到叶子并在每一步列出所有者,上次修改日期和文件大小。例如,

C:Folder1Folder1aFile1.txt Adam 10/20/2017 1024 MB
C:Folder1Folder1aFile2.dat Peter 03/02/2018 2048 MB
C:Folder1Folder1bFile2a.dat John 06/21/2018 100 Bytes
C:Folder2Folder2aFolder2aaFile2aa.zip Mary 15/08/2018 600 MB

到目前为止,我搜索并只能挖掘下面的内容(这不会产生所需的输出)。我来自Unix背景,只有非常基本的批处理知识。有人可以帮忙吗?赢得Powershell也好。

for /R %%f in (*) do dir /b /s /on /q “%%f”
答案

您不能在这里使用裸格式/b,因为这是您想要实际显示的内容,其次您不需要递归每个文件,然后仍然在每个文件上执行dir,而只是执行:

for /f "delims=" %%a in ('dir /a-d /q /on ^| findstr /vi "bytes"') do echo %%a

要将输出重定向到文件:

for /f "delims=" %%a in ('dir /a-d /q /on ^| findstr /vi "bytes"') do echo %%a >> "D:mypathmyfile.txt"
另一答案
$list = @()
foreach ($f in (Get-ChildItem C:YOURPATH -recurse))
  {if ($f.length -gt 1gb)
    {$list += New-Object PSObject -Property @{
      Path = $f.FullName
      Owner = (Get-Acl $f.FullName).Owner
      'LastWrite' = $f.LastWriteTime
      'LastAccess' = $f.LastAccessTime
      'SizeMB' = "{0:N1}" -f ( $f.Length / 1mb )}
    }
  }
$list | sort path | export-csv -Path c:your.csv -Delimiter ',' -NoTypeInformation

以上是关于遍历目录树和显示属性的主要内容,如果未能解决你的问题,请参考以下文章

在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途

树的前序遍历与中序遍历构造二叉树和树的中序遍历与后序遍历构造二叉树

5.5树和二叉树——二叉树的层次遍历算法

树的存储结构;树与二叉树的转换;树和森林的遍历算法

java生成二叉树和遍历

C语言数据结构与算法----树和二叉树全面总结(中)