如何计算目录中的所有文件,返回行数,修改文件日期和第二行第一列字符串

如何计算目录中的所有文件,返回行数,修改文件日期和第二行第一列字符串

我有一个包含多个 csv 文件的目录。我想使用 Windows 10 上的批处理脚本返回每个文件的行数、每个文件的修改日期以及标题行后第一列中的字符串。我该如何输出到文本文件?

例子

File 1: String 100 lines 1/12/2019
File 2: String 100 lines 1/10/2019
File 3: String 200 lines 1/12/2019

答案1

我不会为你编写脚本,但我会为你提供所需的方法。首先让我们将问题分为两部分:

1.- 获取 Dir 中的行数

for /f "usebackq tokens=1 delims=," %%a in ("you_file_path") do set /a count+=1

并且为了获得标题后的第一行,您可以这样做,但要使用循环中断

for /f "usebackq tokens=1 delims=," %%a in ("you_file_path") do (
    set /a count+=1 && if count==2 (first_row=%%a && goto next)
)
:next

2.- 修改日期

for /f "tokens=1,2 delims= " %%a in (
    'dir "FullDirPath" ^| find /i "File_name"'
) do set ArchDate=%%a

现在你需要把它们粘合在一起并编写一个脚本,你需要使用上面的代码循环每个文件,并在每个循环结束时echo "%first_row%" "%archdate%" "%count%"echo "%first_row%" "%archdate%" "%count%" > file.txt

您可以在 中测试此方法,cmd但要在终端上使用变量,您需要替换%%a%a在批处理脚本上是%%a正确的语法,但在终端上%a是正确的语法。

干杯。

相关内容