Trying to output filename, record count, sort csv on column L and displace the first record fullname and last record fullname for each csv in directory.
I am trying to print out an array that contain zip, first name,last name. The logic of my script is to read in the specific column for source csv. I am able to output the file name and record count. However I can seen to get the correct first record fullname and last record fullname. As you can see from my sample data there is duplication.
Sample:
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
I solved the issue by adding to current file name to the array name. Thus creating a new array each time. ('set line_!CurrentFile![')
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.