как посчитать все файлы в каталоге, вернуть количество строк, изменить дату файла и строку первого столбца второй строки

как посчитать все файлы в каталоге, вернуть количество строк, изменить дату файла и строку первого столбца второй строки

У меня есть каталог с несколькими файлами 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но чтобы использовать переменные на терминале, вам нужно заменить %%aна %a. В пакетном скрипте это %%aправильный синтаксис, но на терминале %aэто правильный синтаксис.

Ваше здоровье.

Связанный контент