home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 3 Comm
/
03-Comm.zip
/
eupm2_24.zip
/
De_Inst.cmd
< prev
next >
Wrap
OS/2 REXX Batch file
|
1999-08-01
|
4KB
|
141 lines
/* */
call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
call SysLoadFuncs
parse arg Pfad Pfad1
if Pfad<>'RunSelfXyZ' then
do
'@echo off'
/* damit cmd auch wirklich nach Ende des scripts beendet wird, wirds hier nochmal gestartet */
if length( Pfad1 )>0 then
'cmd.exe /c De_Inst.cmd RunSelfXyZ' Pfad1
else
'cmd.exe /c De_Inst.cmd RunSelfXyZ'
exit
end /* do */
Yellow = '
'
Red = '
'
Green = '
'
Blue = '
'
Default = ''
High = '
'
say 'Alle Dateien im Verzeichnis 'directory()' werden gelöscht.'
say 'Sollten Sie Dateien von EuraPM2 in ein anderes Verzeichnis'
say 'kopiert haben, so werden diese nicht gelöscht.'
rc = Enter( High || Yellow || 'Sind Sie sicher, daß Die EuraPM2 deinstllieren möchten? (J/N)' || Default, c2d('J'), c2d('N'), 27 )
if d2c(rc)<>'J' then exit
call RxFuncAdd 'ErxLoadFuncs', 'EClient', 'ErxLoadFuncs'
call ErxLoadFuncs
say 'beende evtl.laufenden Server'
rc = ErxOpen( , 'h', x300, 0, 0, 'RexxClient "Quit" über DLL' )
if rc==0 then
do
rc = ErxTrans( h, 0, 0, 0, 'xff' )
say 'rc = 'rc
call SysSleep 4
call ErxClose h
end /* do */
else
say rc
call ErxDosReplaceModule 'EClient.dll'
call ErxDosReplaceModule 'CaLib.dll'
call ErxDosReplaceModule 'CaDb.dll'
call ErxDosReplaceModule 'EServer.exe'
call ErxDosReplaceModule 'CaTable.dll'
call ErxDosReplaceModule 'CaTable.exe'
say 'lösche Objekte'
call RemoveObject 'WP_EURAPM2KONFIG'
call RemoveObject 'WP_EURAPM2TAXES'
call RemoveObject 'WP_EURAPM2QUIT'
call RemoveObject 'WP_EURAPM2MONITOR'
call RemoveObject 'WP_EURAPM2CFG'
call RemoveObject 'WP_EURAPM2CFGTXT'
call RemoveObject 'WP_EURAPM2TAXTXT'
call RemoveObject 'WP_EURAPM2README'
call RemoveObject 'WP_EURAPM2SERVTXT'
call RemoveObject 'WP_EURAPM2HISTORY'
call RemoveObject 'WP_EURAPM2TBUCHTXT'
call RemoveObject 'WP_EURAPM2TBUCH'
say 'lösche Ordner'
call RemoveObject 'WP_EURAPM2FOLDER'
call ErxCloseECfg
call RxFuncAdd 'ErxLoadFuncs', 'EClient', 'ErxLoadFuncs'
call ErxDropFuncs
say 'lösche INI-Eintrag'
rc = SysIni( 'USER', 'EuraPM2Global', 'DELETE:' )
say 'lösche Dateien'
rc = SysFileTree( '*', 'Dir', 'FO' )
do i=1 to Dir.0
call DeleteFile Dir.i
end /* do */
Dir = Directory()
'@echo off'
'cd ..'
'@echo on'
say 'lösche Programmverzeichnis'
rc = SysRmDir( Dir )
if rc==0 then Say Dir 'gelöscht'
else Say Dir ' nicht gelöscht, rc = 'rc
say High'fertig'Default
call Enter 'Drücken sie Enter zum beenden', 13
exit
RemoveObject:
procedure expose yellow blue default green Pfad
parse arg Name
Name = strip( Name )
rc = SysDestroyObject( '<'Name'>' )
if rc>0 then Say Name 'gelöscht'
else Say Name ' nicht gelöscht, rc = 'rc
return rc
DeleteFile:
procedure expose yellow blue default green Pfad
parse arg Name
Name = strip( Name )
rc = SysFileDelete( Name )
if rc==0 then Say Name 'gelöscht'
else
do
Say Name ' nicht gelöscht, rc = 'rc
call Enter 'Drücken sie Enter zum weitermachen', 13
end /* do */
return rc
Enter:
procedure
parse arg Text, Key1, Key2, Key3
say Text
do forever
Char = SysGetKey( 'noecho' )
if c2d( Char )=224 | c2d( Char )=0 then
do
Char = SysGetKey( 'noecho' )
Char = c2d( Char )
end /* do */
else
do
Zahl = c2d( translate( Char ) )
if Zahl==Key1 | Zahl==Key2 | Zahl==Key3 | Key1==0 then return Zahl
end /* do */
end /* do */
return 0