home *** CD-ROM | disk | FTP | other *** search
- ; Title : SWEEP.TSK Last Updated : June 20, 1991
- ; Author : Steve Johnson - FmP. Version : 1.01
- ; Purpose : Makes a batch file to process all instances of
- ; : a given filespec.
- ; Notes : The task uses ATTRIB to look for wildcard filespec
- ; : throughout the disc, optionally redirecting output
- ; : creating a file; sweep.bat and then edits it using
- ; : save and restore commands using new ASCII feature.
- ; Latest : Delete SWEEP.DAT if no files found.
-
- hexvar cr,0d
-
- logical file
- logical confirm
-
- var cmd,8,'LIST'
- var error,80
- var null,1
- var spec,12,' SWEEP'
- var sweepline,82
- var spaces9,9,' '
- var y,1,'Y'
- int i
- vconst cls,11
- vconst cel,55
-
- end
-
- forms logon.ovr
- lookfor sweep.ovr
- if not found
- insert SPEC SPEC
- put "NO_FORMS" ;logon.ovr open already!
- stop
- fi
- forms sweep.ovr
- put wallpaper wait 0 noclear
- move '*.BAK' to spec
- fieldfill spec y cmd
- put 'QUESTIONS' noclear
- get spec file cmd
- trim spec cmd
- if anyfk
- stop
- fi
- move true to hide
- if spec ne null
- display cls
- displayln 'SWEEP: looking for all instances of ' spec ' :'
- display 'Please wait...' cr
- if file
- run 'attrib \' spec 1 '/s >sweep.dat'
- clear error
- scanvid 1 giving error
- if error ct 'not found' ;ATTRIB doesnt set errorlevel!
- displayln 'SWEEP: Sorry, no files match your specification - aborting'
- erase 'sweep.dat' ;erase empty file
- stop
- fi
- displayln 'SWEEP: System has created SWEEP.DAT containing ATTRIB output'
- displayln 'SWEEP: Taskmaster now creating edited version SWEEP.BAT'
- behave 3 sweep.bat ;open file for writing
- move resp to i ;save the response
- restore ascii 'sweep.dat' ;open file for reading
- if resp <> 0 or i <> 0 ;if either response non-zero
- displayln 'Edit failed ...' ;get out
- stop
- fi
- while resp = 0 ;until end of input
- clear sweepline
- restore sweepline
- if resp = 0
- replace '~~~~~~~~~' of sweepline with cmd
- data sweepline
- fi
- fi
- behave 0 ;close output file
- restore ;close input file
- displayln 'SWEEP: Edit completed. Erasing SWEEP.DAT'
- erase 'sweep.dat' ;erase input file
- cursor 23 0 cel
- ask confirm 'Would you like to see your batch file SWEEP.BAT ? (Y/N)'
- if confirm
- run 'LIST SWEEP.BAT'
- fi
- cursor 23 0 cel
- ask confirm 'Run the batch file SWEEP.BAT ? (Y/N)'
- if confirm
- run 'SWEEP'
- fi
- cursor 23 0 cel
- ask confirm 'Erase the file SWEEP.BAT ? (Y/N)'
- if confirm
- erase 'SWEEP.BAT'
- fi
- else
- run 'attrib ' spec 1 '/s |more'
- fi
- fi
- stop
- endtask
- @video
- @head left,SWEEP.TSK
- @head right,"Copyright (c) FmP 1991"
- @head centre,'Automation example'
- @nf questions
- @acceptfk f10
- @overlay
- @str
- @logical
- @str
- @dim
- @banner
- @win line3,column4,depth16,width72
-
- This task uses the DOS ATTRIB command to return full hierarchical
- filenames for all instances of a filename you supply. In itself
- not very useful. If asked to do so however, Taskmaster can use
- the list as a basis for a BATCH file (SWEEP.BAT) in which each
- filename is preceded by a command of your choice. This is very
- useful - you can now delete ALL your BAK files in one operation!
-
- Please enter a filespec [*.bak ]
-
- Create SWEEP.BAT ? [y] N=Screen display only.
- If Yes, what command do you want to execute? [LIST ]
-
- Note: You will be given the chance to view SWEEP.BAT before
- deciding whether you wish to run it.
- @bright
- @win line20,column10,depth3,width60,pattern 176
-
- Press F10 to quit
- @end
- @map x,b2
- @map Y,b1
- @map Z,b0
- @nf WALLPAPER
- @COL CHAR,green,blue
- @translate
- @gon
- XYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXY
- YZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZ
- ZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZX
- XYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXY
- YZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZ
- ZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZX
- XYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXY
- YZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZ
- ZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZX
- XYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXY
- YZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZ
- ZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZX
- XYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXY
- YZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZ
- ZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZX
- XYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXY
- YZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZ
- ZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZX
- XYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXY
- YZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZ
- ZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZX
- XYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXY
- YZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZ
- ZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZX
- @end
- @eof