@rem csv3.bat
@rem RJM Programming - January, 2015
@rem Supervised by csvsort.bat ... blurb for that supervisor is ...
@rem Defaults to three comma separated fields to sort and default csv3.bat and vsc3.bat as written
@rem Usage: csvsort[.bat] [[numFields] [rowsToSkip]] [inputCSVFilename] [fieldNumberOfSort] [/n] [/r]
@rem Note: If no inputSVFilename existing it will ask for interactive input
@rem Defaults: /n does numerical sort and /r reverses the sort
@if trick%1==trick goto nomore
@set seo=%1
@if exist %seo% set seo=
@if trick%seo%==trick goto bitmore
@if trick%seo%==trick0 set seo=
@shift
:bitmore
@set lpis1=ec
@set lpis2=ho
@if trick%2==trick/n set lpis1=lpad10
@if trick%3==trick/n set lpis1=lpad10
@if trick%2==trick/n set lpis2=
@if trick%3==trick/n set lpis2=
@if trick%seo%==trick goto noseo
@if trick%2%lpis1%==tricklpad10 @FOR /F "usebackq skip=%seo% tokens=1,2,3 delims=," %%i IN (`type %1`) DO @%lpis1%%lpis2% %%i %%j %%k
@if trick%2%lpis1%==trick1lpad10 @FOR /F "usebackq skip=%seo% tokens=1,2,3 delims=," %%i IN (`type %1`) DO @%lpis1%%lpis2% %%i %%j %%k
@if trick%2%lpis1%==trick2lpad10 @FOR /F "usebackq skip=%seo% tokens=1,2,3 delims=," %%i IN (`type %1`) DO @%lpis1%%lpis2% %%j %%i %%k
@if trick%2%lpis1%==trick3lpad10 @FOR /F "usebackq skip=%seo% tokens=1,2,3 delims=," %%i IN (`type %1`) DO @%lpis1%%lpis2% %%k %%i %%j
@if trick%2%lpis1%==trickec @FOR /F "usebackq skip=%seo% tokens=1,2,3 delims=," %%i IN (`type %1`) DO @%lpis1%%lpis2% %%i,%%j,%%k,%%i
@if trick%2%lpis1%==trick1ec @FOR /F "usebackq skip=%seo% tokens=1,2,3 delims=," %%i IN (`type %1`) DO @%lpis1%%lpis2% %%i,%%j,%%k,%%i
@if trick%2%lpis1%==trick2ec @FOR /F "usebackq skip=%seo% tokens=1,2,3 delims=," %%i IN (`type %1`) DO @%lpis1%%lpis2% %%j,%%i,%%k,%%j
@if trick%2%lpis1%==trick3ec @FOR /F "usebackq skip=%seo% tokens=1,2,3 delims=," %%i IN (`type %1`) DO @%lpis1%%lpis2% %%k,%%i,%%j,%%k
@goto nomore
:noseo
@if trick%2%lpis1%==tricklpad10 @FOR /F "usebackq tokens=1,2,3 delims=," %%i IN (`type %1`) DO @%lpis1%%lpis2% %%i %%j %%k
@if trick%2%lpis1%==trick1lpad10 @FOR /F "usebackq tokens=1,2,3 delims=," %%i IN (`type %1`) DO @%lpis1%%lpis2% %%i %%j %%k
@if trick%2%lpis1%==trick2lpad10 @FOR /F "usebackq tokens=1,2,3 delims=," %%i IN (`type %1`) DO @%lpis1%%lpis2% %%j %%i %%k
@if trick%2%lpis1%==trick3lpad10 @FOR /F "usebackq tokens=1,2,3 delims=," %%i IN (`type %1`) DO @%lpis1%%lpis2% %%k %%i %%j
@if trick%2%lpis1%==trickec @FOR /F "usebackq tokens=1,2,3 delims=," %%i IN (`type %1`) DO @%lpis1%%lpis2% %%i,%%j,%%k,%%i
@if trick%2%lpis1%==trick1ec @FOR /F "usebackq tokens=1,2,3 delims=," %%i IN (`type %1`) DO @%lpis1%%lpis2% %%i,%%j,%%k,%%i
@if trick%2%lpis1%==trick2ec @FOR /F "usebackq tokens=1,2,3 delims=," %%i IN (`type %1`) DO @%lpis1%%lpis2% %%j,%%i,%%k,%%j
@if trick%2%lpis1%==trick3ec @FOR /F "usebackq tokens=1,2,3 delims=," %%i IN (`type %1`) DO @%lpis1%%lpis2% %%k,%%i,%%j,%%k
:nomore

