Вывод дублирующих записей в пакетный скрипт - PullRequest
0 голосов
/ 17 июня 2019

Попытка вывести имя файла, количество записей, отсортировать CSV в столбце L и сместить полное имя первой записи и полное имя последней записи для каждого CSV в каталоге.

Я пытаюсь распечатать массив, содержащий zip,имя Фамилия.Логика моего сценария состоит в том, чтобы читать в определенном столбце для исходного CSV.Я могу вывести имя файла и количество записей.Однако я могу видеть, чтобы получить правильное полное имя первой записи и полное имя последней записи.Как вы можете видеть из моего примера данных, есть дублирование.

Образец:

   Filename: Test1.csv
   Record Count: 988
   First Record Name: 12025, Jeff, Meacham 
   Last Record Name: 14905, Jazzlynn, Doe

   Filename: Test2.csv
   Record Count: 580
   First Record Name: 12010, Jim, Palmerino 
   Last Record Name: 14905, Jazzlynn, Doe

   Filename: Test3.csv
   Record Count: 522
   First Record Name: 12010, Jim, Palmerino 
   Last Record Name: 14905, Joseph, Panosian

   Filename: Test4.csv
   Record Count: 555
   First Record Name: 12010, jim, Palmerino 
   Last Record Name: 14905, Joseph, Thurber
@ECHO OFF
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION

IF EXIST result3.txt DEL /F result3.txt


for %%f in (*csv) do (
   set CurrentFile=%%f
   set /a NumLines=0


     for /f %%j in ('Find "" /v /c ^< !CurrentFile!') Do (
       Set /a NumLines=%%j
    )



    for /F "tokens=1-12 delims=," %%a in (!CurrentFile!) do (

        if not defined counter set counter=0
        set /a counter+=1
        set line[%%~lcounter]=%%l, %%d, %%f

    )

    (set row=%~1) & (set last=%~1)
    for /F "tokens=1-2 delims==" %%a in ('set line[') do (

    if not defined row (set row=%%b ) else (set last=%%b )
        set row=!row:"=!
        set last=!last:"=!  
         )

       echo.    
       echo.   Filename: !CurrentFile!
           echo.   Record Count: !NumLines!
           echo.   First Record Name: !row!
           echo.   Last Record Name: !last!

    ) >> result3.txt



) 

ENDLOCAL
   Filename: Test1.csv
   Record Count: 988
   First Record Name: 12025, Jeff, Meacham 
   Last Record Name: 14905, Jazzlynn, Doe

   Filename: Test2.csv
   Record Count: 580
   First Record Name: 12010, Jim, Palmerino 
   Last Record Name: 14905, Matthew  Smalles

   Filename: Test3.csv
   Record Count: 522
   First Record Name: 12010, Joshua Long
   Last Record Name: 14905, Joseph, Panosian

   Filename: Test4.csv
   Record Count: 555
   First Record Name: 12010, Hillary Koller
   Last Record Name: 14905, Joseph, Thurber

1 Ответ

0 голосов
/ 19 июня 2019

Я решил проблему, добавив к текущему имени файла имя массива.Таким образом, создавая новый массив каждый раз.('set line_! CurrentFile! [')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...