/* Pro136F.c */ /* "6Rename.Exe" */ /* Automatic Rename Batch generator as a Finalizing polish. The Batch will return Original Long foldernames. */ /* Read 'LOOKUP.TXT' */ /* Write 'RENAME.BAT' */ /* This C program is a variation of 'Pro136C.c' which automatically generate DOS-Batch program after it captures Directory names. */ /* (2005-02-06) I realized that I can't make the RENAME.BAT * directly from "DIR.TXT", but I should read from "LOOKUP.TXT" * which tells, * catlg001.txt <=> The first folder_name. * catlg002.txt <=> The second folder_name. * catlg003.txt <=> The third folder_name. */ #include <stdio.h> #include <string.h> char inline [256]; char id [128], originalName [128]; extern char *firstwd (char *to, char *from); /* Recycling Object 'firstwd()' */ extern char *spacedwd (char *to, char *from); /* Modified Recycling Object */ void main(void){ char strPause[16]; FILE *infp, *outfp; /* Actually, "LOOKUP.TXT" is simpler */ infp=fopen("LOOKUP.Txt", "r"); outfp=fopen("RENAME.BAT", "w"); /* I can write a set of Five RENAME here at different locations, */ /* while RENAME command lines are jumping around Five folders all the time. */ /* by "Change Directory (CD)". I tried the latter way and it is just fine. */ /* Without Changing Directory, the DOS-Batch command didn't work. */ /* Only the First Line, it is current directory, no "CD .." at first. */ fgets(inline, 256, infp); firstwd(id, &inline[2]); spacedwd(originalName, &inline[18]); fprintf (outfp, "CD SDW\n"); fprintf (outfp, "RENAME %s.Txt \"%s.Txt\"\n", id, originalName); fprintf (outfp, "CD ..\\ZIP_FL\n"); fprintf (outfp, "RENAME %s.Txt \"%s.Txt\"\n", id, originalName); fprintf (outfp, "CD ..\\SDW\\Erased\n"); fprintf (outfp, "RENAME %s.Txt \"%s.Txt\"\n", id, originalName); fprintf (outfp, "CD ..\\..\\ZIP_FL\\Erased\n"); fprintf (outfp, "RENAME %s.Txt \"%s.Txt\"\n", id, originalName); fprintf (outfp, "CD ..\\..\\DIFF\n"); fprintf (outfp, "RENAME %s.Txt \"%s.Txt\"\n", id, originalName); /* The Second Line and Later */ while(fgets(inline, 256, infp)!=NULL){ firstwd(id, &inline[2]); spacedwd(originalName, &inline[18]); fprintf (outfp, "CD ..\\SDW\n"); fprintf (outfp, "RENAME %s.Txt \"%s.Txt\"\n", id, originalName); fprintf (outfp, "CD ..\\ZIP_FL\n"); fprintf (outfp, "RENAME %s.Txt \"%s.Txt\"\n", id, originalName); fprintf (outfp, "CD ..\\SDW\\Erased\n"); fprintf (outfp, "RENAME %s.Txt \"%s.Txt\"\n", id, originalName); fprintf (outfp, "CD ..\\..\\ZIP_FL\\Erased\n"); fprintf (outfp, "RENAME %s.Txt \"%s.Txt\"\n", id, originalName); fprintf (outfp, "CD ..\\..\\DIFF\n"); fprintf (outfp, "RENAME %s.Txt \"%s.Txt\"\n", id, originalName); } fclose (infp); fclose (outfp); }