home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 17
/
CD_ASCQ_17_101194.iso
/
vrac
/
ho51.zip
/
HO51.ZIP
/
rolodos.bat
< prev
next >
Wrap
DOS Batch File
|
1994-06-13
|
7KB
|
266 lines
@ECHO OFF
rem
rem Apparently, this comes from an unknown computer magazine
rem Use it at your own risk.
rem
IF "%1"=="INPUT" GOTO INPUT
SET ROLO=START
IF "%1"=="^" GOTO SORTING
IF "%1"=="#" GOTO DIALING
IF NOT "%1"=="@" GOTO PARAM
SET ROLO=SORT
GOTO HEADING
:PARAM
IF "%1"=="&" SET ROLO=CALL
IF "%1"=="-" SET ROLO=DELETE
IF "%1"=="*" SET ROLO=GET
IF "%1"=="+" SET ROLO=ADD
IF "%2"=="" SET ROLO=INFO
IF "%1"=="" SET ROLO=INFO
IF %ROLO%==START SET ROLO=INFO
IF "%1"=="+" GOTO MORPARAMS
GOTO HEADING
:MORPARAMS
REM /*** ADDING ENTRY, SO VERIFY ADDITIONAL PARAMETERS***/
IF "%3"=="" SET ROLO=INFO
IF "%4"=="" SET ROLO=INFO
:HEADING
CLS
ECHO ==================================================================
ECHO ************************* ROLODOS UTILITY *************************
ECHO ===================================================================
ECHO.
GOTO %ROLO%
REM /*-- Add number to data file. --*/
:ADD
ECHO Updating the phone listing:
ECHO.
ECHO SET DIAL=%2 %3 %4 >> PHONE.LST
ECHO %3 WAS ADDED TO TAB "%2" OF THE PHONE LIST.
ECHO THE NUMBER IS: %4.
ECHO.
GOTO END
REM /*-- DELETE NUMBER FROM PHONE LIST. --*/
:DELETE
TYPE PHONE.LST | FIND "%2" > TEMP.$$$
COPY TEMP.$$$ TEMP.LST >NUL
DEL TEMP.$$$
IF EXIST TEMP.LST GOTO CAUTION
ECHO SORRY, THERE IS NO LISTING FOR %2.
ECHO.
GOTO END
:CAUTION
ECHO CAUTION!
ECHO.
ECHO THE FOLLOWING LISTING(S) WILL BE REMOVED:
ECHO.
TYPE TEMP.LST
ECHO.
ECHO PRESS CTRL-C TO CANCEL, ANY OTHER KEY TO CONTINUE...
COMMAND /C ROLODOS.BAT INPUT
IF NOT EXIST YE$.$$$ GOTO DONE
DEL YE$.$$$
TYPE PHONE.LST | FIND /V "%2" >TEMP.LST
COPY TEMP.LST PHONE.LST >NUL
DEL TEMP.LST
ECHO.
ECHO LISTING(S) HAVE BEEN REMOVED
ECHO.
GOTO END
:GET
IF "%2"=="*" GOTO ALL
:SEARCH
TYPE PHONE.LST |FIND "%2" >TEMP.$$$
COPY TEMP.$$$ TEMP.LST >NUL
DEL TEMP.$$$
IF EXIST TEMP.LST GOTO FOUND
ECHO SORRY, THERE IS NO LISTING FOR %2.
ECHO.
GOTO END
:FOUND
ECHO HERE IS THE LISTING FOR %2:
GOTO LIST
:ALL
ECHO HERE IS THE COMPLETE FILE LISTING:
:LIST
ECHO.
ECHO ===================================================================
ECHO COMMAND INDEX NAME NUMBER
ECHO ===================================================================
IF "%2"=="*" MORE <PHONE.LST
IF NOT "%2"=="*" TYPE TEMP.LST
ECHO.
IF EXIST TEMP.LST DEL TEMP.LST
GOTO END
:CALL
TYPE PHONE.LST |FIND "%2" >TEMP.$$$
COPY TEMP.$$$ TEMP.LST >NUL
DEL TEMP.$$$
IF EXIST TEMP.LST GOTO DOCALL
ECHO SORRY, THERE IS NO LISTING FOR %2.
ECHO.
GOTO END
:DOCALL
ECHO @ECHO OFF >TEMP.BAT
TYPE TEMP.LST >>TEMP.BAT
DEL TEMP.LST
CALL TEMP.BAT
CALL ROLODOS # %DIAL% %3
DEL TEMP.BAT
SET DIAL=
ECHO.
GOTO END
:DIALING
ECHO CALLING %3 AT %4:
:REDIAL
ECHO.
ECHO AT DT %4 >COM2:
ECHO.
ECHO LIFT THE RECEIVER WHEN YOU HEAR THE OTHER PHONE RINGING.
ECHO PRESS ANY KEY TO SILENCE THE MODEM ONCE YOU HAVE LIFTED THE RECEIVER
PAUSE >NUL
ECHO AT H >COM2:
ECHO.
ECHO CALL TERMINATED.
ECHO.
IF NOT "%5"=="R" GOTO END
ECHO PRESS ANY KEY TO REDIAL OR CTRL-C TO CANCEL.
COMMAND /C ROLODOS.BAT INPUT
IF NOT EXIST YE$.$$$ GOTO DONE
DEL YE$.$$$
CLS
SET ROLO=REDIALING
GOTO HEADING
:INPUT
PAUSE >NUL
ECHO CONTINUE! >YE$.$$$
GOTO NEXT
:REDIALING
ECHO RETRYING %3 AT %4:
GOTO REDIAL
:SORT
IF "%2"=="$" GOTO BIGSORT
ECHO --IMPORTANT--
ECHO.
ECHO PLEASE NOTE THAT FOR FILES LARGER THAN 64K THE DOS SORT COMMAND
ECHO PRODUCES UNPREDICTABLE RESULTS. IF YOUR PHONE.LST FILE IS
ECHO LARGER THAN 64K YOU CAN INCLUDE THE $ SYMBOL ON THE ROLODOS
ECHO COMMAND LINE. THIS ALLOWS THE UTILITY TO SORT BY INDEX. SORTING
ECHO A LARGE FILE THIS WAY TAKES MORE TIME BUT WILL PRODUCE THE
ECHO CORRECT RESULT.
ECHO.
DIR PHONE.LST | FIND "PHONE"
ECHO.
ECHO IF YOUR PHONE.LST FILE SIZE IS GREATER THAN 65536 BYTES,
ECHO PRESS THE SPACE BAR.
ECHO OTHERWISE, PRESS CTRL-C TO USE THE QUICKEST SORT ROUTINE.
ECHO.
COMMAND /C ROLODOS INPUT
IF EXIST YE$.$$$ GOTO DOBIGSORT
ECHO SORTING PHONE LIST...
TYPE PHONE.LST |SORT /+20 >TEMP.LST
GOTO STDOPS
:DOBIGSORT
DEL YE$.$$$
SET ROLO=BIGSORT
GOTO HEADING
:BIGSORT
ECHO SORTING PHONE LIST...
ECHO.
FOR %%p in (a b c d e f g h i j k l m n o p q r s t u v w x y z) DO CALL ROLODOS ^ %%p
:STDOPS
COPY TEMP.LST PHONE.LST >NUL
DEL TEMP.LST
ECHO.
ECHO SORT COMPLETE.
GOTO END
:SORTING
IF NOT "%2"=="p" GOTO NOCLS
CLS
SET ROLO=NOCLS
GOTO HEADING
:NOCLS
ECHO SEARCHING FOR INDEX "%2"...
TYPE PHONE.LST |FIND "%2" > TEMP.$$$
COPY TEMP.$$$ TEMP.!!! >NUL
DEL TEMP.$$$
IF NOT EXIST TEMP.!!! GOTO NEXT
SORT /+20 <TEMP.!!! >>TEMP.LST
DEL TEMP.!!!
GOTO NEXT
:INFO
ECHO THE ROLODOS UTILITY IS LIKE A DOS ROLODEX THAT CAN ALSO DIAL
ECHO YOUR CALLS IF YOUR COMPUTER IS EQUIPPED WITH A MODEM. COMMAND
ECHO LINE SYNTAX IS AS FOLLOWS:
ECHO.
ECHO _ ROLODOS [ACTION] [index] [NAME] [NUMBER] [REDIAL] //- USED
ECHO TO ADD AN ENTRY TO THE PHONE LIST.
ECHO.
ECHO OR
ECHO.
ECHO _ ROLODOS [ACTION] [OPERAND] //- USED FOR ALL
ECHO OTHER OPERATIONS.
ECHO.
ECHO WHERE ACTION IS EITHER ONE OF THE FOLLOWING:
ECHO.
ECHO + (ADD) TO ADD A PHONE LISTING TO THE FILE.
ECHO - (REMOVE) TO REMOVE A LISTING FROM THE FILE.
ECHO * (GET) TO OBTAIN AN INFORMATION LISTING.
ECHO & (DIAL) TO PLACE A CALL.
ECHO # (SORT) TO RESORT THE PHONE LISTING FILE.
ECHO.
ECHO -- PRESS ANY KEY TO CONTINUE --
PAUSE >NUL
CLS
SET ROLO=IPG2
GOTO HEADING
:IPG2
ECHO.
ECHO INDEX - must be in lower case and is a reference point to which the
ECHO listing is associated. It need only be included when you are
ECHO adding a new listing.
ECHO.
ECHO NAME - specifies the title of each listing. It is required for all
ECHO additions, and MUST be capitalised. Titles should be 20 characters
ECHO long and must not contain spaces (i.e. DOE_JOHN............). For
ECHO operations other than adding and dialing, you can substitute INDEX
ECHO to perform the operation on a class of listings.
ECHO.
ECHO NUMBER - is the phone number listing. You can include normally
ECHO used symbols such as () and -, but the number may not include
ECHO spaces.
ECHO Example: 1-800-999-9999, (800)999-9999 are acceptable. The
ECHO number is only required when adding a listing.
ECHO.
ECHO REDIAL - is used when calling to indicate that you wish to redial
ECHO the same number at the touch of a key. You may simply use "R".
ECHO.
ECHO -- PRESS ANY KEY TO CONTINUE --
PAUSE >NUL
CLS
SET ROLO=IPG3
GOTO HEADING
:IPG3
ECHO.
ECHO OPERAND - is any part of the database you wish a command to
ECHO operate ON. When using the * (GET) action, a second * yields
ECHO a complete file listing. Using an index letter would yield a
ECHO listing of all entries under that index, while a name would
ECHO limit the search to a specific entry.
ECHO.
ECHO To perform @ (SORT) operations on a list file greater than 64K
ECHO you must include the $ symbol. The $ is an additional
ECHO parameter.
ECHO.
GOTO END
:DONE
ECHO.
ECHO Operation cancelled.
:END
SET ROLO=
ECHO
:NEXT