10 *|" 20 *|"Tree Rename V.1 30 *|" 40 *|"Written by Alex Savvides 50 *|"Renames whole directories 60 *|"For 8-Bit Public Domain 70 *|" | 80 : 90 IFPAGE<>&1900THENPRINT'"Set PAGE to &1900 and re-load":END 100 : 110 MODE7:VDU23;8202;0;0;0; 120 *FX4 2 130 *FX11 140 CLOSE#0 150 ONERRORPROCerror:END 160 DIMfile$(31) 170 FORK=1TO2 180 PRINTTAB(0,K);"";CHR$157;CHR$141" Tree Rename Version 1" 190 NEXT 200 PRINT'SPC(7);"Written by Alex Savvides" 210 PRINTTAB(0,24);"";CHR$157;" An 8-Bit Public Domain Utility"; 220 VDU28,1,22,39,6 230 ONERRORPROCerror 240 PRINT"Please wait a while ..." 250 FORI=&0E00TO&F00 260 ?I=0 270 NEXT 280 CLS 290 INPUTLINE"Enter drive :"DR$ 300 IFDR$=""""ORDR$=""ORLEN(DR$)>1ORVAL(DR$)>3THENVDU7,11:GOTO290 310 OSCLI"DRI. "+DR$ 320 PRINT'"Insert disk in drive ";DR$;" and hit a key"' 330 A=GET 340 *. 350 PROCinput("Enter source directory",""":.") 360 S$=G$ 370 PROCinput("Enter rename directory",""":.") 380 D$=G$ 390 *ACCESS*.* 400 PROCfiles 410 PROCrename 420 *. 430 INPUT'"Another disk (Y/N) ? "A$' 440 IFA$="Y"THENGOTO290 450 CALL!-4 460 END 470 : 480 DEFPROCfiles 490 PRINT'"Reading ..."' 500 *FX3 2 510 *DIR$ 520 *. 530 *FX3 540 A%=&0E08 550 B%=0 560 REPEAT 570 IF?(A%+7)=0THENR$="$."ELSER$=CHR$(?(A%+7))+"." 580 file$(B%)=R$ 590 D%=0 600 REPEAT 610 IF?(A%+D%)>0OR?(A%+D%)<>&FFTHENfile$(B%)=file$(B%)+CHR$(?(A%+D%)) 620 D%=D%+1 630 UNTILD%=7OR?(A%+D%)=32 640 IFLEFT$(file$(B%),1)<>S$THENGOTO670 650 PRINT"";file$(B%) 660 B%=B%+1 670 A%=A%+8 680 UNTIL?A%=0ORA%=&F00ORB%=32 690 IFB%=0THENPRINT"No files found in directory '";S$;"'":GOTO430 700 ENDPROC 710 : 720 DEFPROCrename 730 PRINT'"Renaming ..."' 740 FORn=0TOB%-1 750 a$=file$(n) 760 z=LEN(a$)-2 770 b$=MID$(a$,3,z) 780 IFLEFT$(a$,1)<>S$THENGOTO810 790 OSCLI"RENAME "+file$(n)+" "+D$+"."+b$ 800 PRINT;"";a$;SPC(8-LEN(b$));"] ";D$;".";b$ 810 NEXT 820 ENDPROC 830 : 840 DEFPROCerror 850 *FX3 860 VDU7,12 870 IFERR=17THENENDPROC 880 PRINT"An error has occured:" 890 REPORT:PRINT" at line ";ERL' 900 PRINT"Press a key...":*FX21 910 key=GET 920 ENDPROC 930 : 940 DEFPROCinput(text$,forbid$) 950 PRINT'"";text$;" :"; 960 REPEAT 970 G$=GET$ 980 UNTILINSTR(forbid$,G$)=0 990 PRINTG$ 1000 ENDPROC