I expect developers to program like I do, which didn't happen this week.
The task is to concatenate log files in a folder into a single file to import into a database. The Windows command to do the job is for /f %a in ('dir /b *.csv') do type %a >> dest.csv
. (dir /b
lists entries in a folder without any heading.) While testing using echo
in place of type
, I noticed that due to the way dir
sorts file, the script would concatenate log files in this order: Log-02.csv, Log-03.csv, ..., Log.csv i.e. the first log file last. This order seems to correspond with the characters in the ASCII table.
(Aside: Windows Explorer lists Log.csv first because Explorer doesn't use ASCII sort order.)
Of course, just to get the job done, the work-around is to rename Log.csv to Log-01.csv before running the script.
It threw me that developers wouldn't name log files consistently.