如何計算 dir 中的所有文件,傳回行數,修改文件日期和第二行第一列字串

如何計算 dir 中的所有文件,傳回行數,修改文件日期和第二行第一列字串

我有一個包含多個 csv 檔案的目錄。我想在視窗 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但要在終端上使用變量,您需要將 for 替換%%a%a。在批次腳本上這%%a是正確的語法,但在終端上%a是正確的語法。

乾杯。

相關內容