Windows:如何创建目录中文件信息的制表符分隔列表

Windows:如何创建目录中文件信息的制表符分隔列表

作为 Linux 用户,我不知道如何在 Windows 上解决以下问题(使用 cmd.exe):

我想以递归方式列出给定目录中的所有文件,并使用制表符分隔以下信息并将其放入文件中:

  1. 完整路径
  2. 不带文件名的完整路径
  3. 文件名
  4. 文件后缀
  5. 上次更改的时间戳
  6. 最近接触过该文件的用户

例如

c:\folderA\file1.txt<tab>c:\folderA<tab>file1.txt<tab>txt<tab>2016-02-18 15:18:29 +0100<tab>USER_X

c:\folderA\file2.txt<tab>c:\folderA<tab>file2.txt<tab>txt<tab>2018-02-28 14:28:44 +0100<tab>USER_Y

c:\folderA\folderAA\file3.xlsx<tab>c:\folderA\folderAA<tab>file3.xlsx<tab>xslx<tab>2011-12-01 05:22:01 +0100<tab>USER_Z

有些文件和文件夹的名称中可能带有空格。

有什么建议吗?谢谢!

答案1

使用电源外壳代替命令使用 powershell 命令Get-ChildItem别名GCI

完整命令:

gci -r | % { $_.Name,$_.FullName,$_.LastWriteTime -join ' ' } | Out-File YourOutputfile.txt

gci 获取子项

-r 递归

$_.Name 文件名

$_.FullName 文件完整路径

相同的输出:

Get-ChildItem -r | % { $_.Name,$_.FullName,$_.LastWriteTime -join ' ' } | Out-File YourOutputfile.txt

如果你仍想使用cmd,请for /?输入并阅读本节


    %~I         - expands %I removing any surrounding quotes (")
    %~fI        - expands %I to a fully qualified path name
    %~dI        - expands %I to a drive letter only
    %~pI        - expands %I to a path only
    %~nI        - expands %I to a file name only
    %~xI        - expands %I to a file extension only
    %~sI        - expanded path contains short names only
    %~aI        - expands %I to file attributes of file
    %~tI        - expands %I to date/time of file
    %~zI        - expands %I to size of file
    %~$PATH:I   - searches the directories listed in the PATH
                   environment variable and expands %I to the
                   fully qualified name of the first one found.
                   If the environment variable name is not
                   defined or the file is not found by the
                   search, then this modifier expands to the
                   empty string

The modifiers can be combined to get compound results:

    %~dpI       - expands %I to a drive letter and path only
    %~nxI       - expands %I to a file name and extension only
    %~fsI       - expands %I to a full path name with short names only
    %~dp$PATH:I - searches the directories listed in the PATH
                   environment variable for %I and expands to the
                   drive letter and path of the first one found.
    %~ftzaI     - expands %I to a DIR like output line

相关内容