批量根据特定格式列出文件夹和子文件夹中的文件

时间:2014-05-19 18:30:55

标签: batch-file

我有一个问题 是否可以创建一个读取dir和subdirs的批处理文件,并将结果以特定格式输出到.txt文件中?

我知道怎么读dir,包括sub dirs等。 但我不知道如何将特定格式用于.txt文件。

示例我有

c:\patch
c:\patch\subfolder
c:\patch\subfolder\subfolder

在这些文件夹中我有一些文件 我需要的是输出将是这样的

2014-05-17  03:16p             7155712 file.exe
2014-05-11  03:41p            19287692 subfolder\file1.res
2014-05-11  03:42p            35508951 subfolder\subsubfolder\file1.res

亲切的问候,

Thomas de Vries。

1 个答案:

答案 0 :(得分:1)

编辑:作为回复评论的小修改。

以下两点已被修改:

  • 将日期从DD-MM-YYYY转换为YYYY-MM-DD。
  • 输出格式的微调。

@echo off
setlocal EnableDelayedExpansion

set "base=%CD%"
set "base=%base:*:=%\"

for /R %%a in (*.*) do (
   for /F "tokens=1-5 delims=/-. " %%b in ("%%~Ta") do set "dateTime=%%d-%%c-%%b  %%e%%f"
   set "size=                   %%~Za"
   set name=%%~PNXa
   echo !dateTime! !size:~-19! !name:%base%=!
)