home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 3 Comm / 03-Comm.zip / eupm2_24.zip / De_Inst.cmd < prev    next >
OS/2 REXX Batch file  |  1999-08-01  |  4KB  |  141 lines

  1. /* */
  2.  
  3. call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs' 
  4. call SysLoadFuncs
  5.  
  6. parse arg Pfad Pfad1
  7.  
  8. if Pfad<>'RunSelfXyZ' then
  9. do 
  10.    '@echo off'
  11.    /* damit cmd auch wirklich nach Ende des scripts beendet wird, wirds hier nochmal gestartet */
  12.    if length( Pfad1 )>0 then
  13.       'cmd.exe /c De_Inst.cmd RunSelfXyZ' Pfad1
  14.    else
  15.       'cmd.exe /c De_Inst.cmd RunSelfXyZ'
  16.    exit
  17. end /* do */
  18.  
  19. Yellow  = ''
  20. Red     = ''
  21. Green   = ''
  22. Blue    = ''
  23. Default = ''
  24. High    = ''
  25.  
  26. say 'Alle Dateien im Verzeichnis 'directory()' werden gelöscht.'
  27. say 'Sollten Sie Dateien von EuraPM2 in ein anderes Verzeichnis'
  28. say 'kopiert haben, so werden diese nicht gelöscht.'
  29. rc = Enter( High || Yellow || 'Sind Sie sicher, daß Die EuraPM2 deinstllieren möchten? (J/N)' || Default, c2d('J'), c2d('N'), 27 )
  30. if d2c(rc)<>'J' then exit
  31.  
  32. call RxFuncAdd 'ErxLoadFuncs', 'EClient', 'ErxLoadFuncs' 
  33. call ErxLoadFuncs
  34.  
  35. say 'beende evtl.laufenden Server' 
  36. rc = ErxOpen( , 'h', x300, 0, 0, 'RexxClient "Quit" über DLL' )
  37. if rc==0 then 
  38. do 
  39.    rc = ErxTrans( h, 0, 0, 0, 'xff' )
  40.    say 'rc = 'rc
  41.    call SysSleep 4
  42.    call ErxClose h 
  43. end /* do */
  44. else
  45.    say rc
  46.  
  47. call ErxDosReplaceModule 'EClient.dll'
  48. call ErxDosReplaceModule 'CaLib.dll'
  49. call ErxDosReplaceModule 'CaDb.dll'
  50. call ErxDosReplaceModule 'EServer.exe'
  51. call ErxDosReplaceModule 'CaTable.dll'
  52. call ErxDosReplaceModule 'CaTable.exe'
  53.  
  54. say 'lösche Objekte'
  55. call RemoveObject 'WP_EURAPM2KONFIG'
  56. call RemoveObject 'WP_EURAPM2TAXES'
  57. call RemoveObject 'WP_EURAPM2QUIT'
  58. call RemoveObject 'WP_EURAPM2MONITOR'
  59. call RemoveObject 'WP_EURAPM2CFG'
  60. call RemoveObject 'WP_EURAPM2CFGTXT'
  61. call RemoveObject 'WP_EURAPM2TAXTXT'
  62. call RemoveObject 'WP_EURAPM2README'
  63. call RemoveObject 'WP_EURAPM2SERVTXT'
  64. call RemoveObject 'WP_EURAPM2HISTORY'
  65. call RemoveObject 'WP_EURAPM2TBUCHTXT'
  66. call RemoveObject 'WP_EURAPM2TBUCH'
  67. say 'lösche Ordner'
  68. call RemoveObject 'WP_EURAPM2FOLDER'
  69.  
  70. call ErxCloseECfg
  71.  
  72. call RxFuncAdd 'ErxLoadFuncs', 'EClient', 'ErxLoadFuncs' 
  73. call ErxDropFuncs
  74.  
  75. say 'lösche INI-Eintrag'
  76. rc = SysIni( 'USER', 'EuraPM2Global', 'DELETE:' )
  77.  
  78. say 'lösche Dateien'
  79. rc = SysFileTree( '*', 'Dir', 'FO' )
  80.  
  81. do i=1 to Dir.0
  82.    call DeleteFile Dir.i
  83. end /* do */
  84.  
  85. Dir = Directory()
  86. '@echo off'
  87. 'cd ..'
  88. '@echo on'
  89. say 'lösche Programmverzeichnis'
  90. rc = SysRmDir( Dir )
  91. if rc==0 then Say Dir 'gelöscht'
  92. else Say Dir ' nicht gelöscht, rc = 'rc
  93.  
  94. say High'fertig'Default
  95. call Enter 'Drücken sie Enter zum beenden', 13
  96.  
  97. exit
  98.  
  99. RemoveObject:
  100. procedure expose yellow blue default green Pfad
  101. parse arg Name
  102. Name = strip( Name )
  103. rc = SysDestroyObject( '<'Name'>' )
  104. if rc>0 then Say Name 'gelöscht'
  105. else Say Name ' nicht gelöscht, rc = 'rc
  106. return rc
  107.  
  108. DeleteFile:
  109. procedure expose yellow blue default green Pfad
  110. parse arg Name
  111. Name = strip( Name )
  112. rc = SysFileDelete( Name )
  113. if rc==0 then Say Name 'gelöscht'
  114. else 
  115. do 
  116.    Say Name ' nicht gelöscht, rc = 'rc
  117.    call Enter 'Drücken sie Enter zum weitermachen', 13
  118. end /* do */
  119. return rc
  120.  
  121. Enter:
  122. procedure
  123. parse arg Text, Key1, Key2, Key3
  124. say Text
  125. do forever
  126.    Char = SysGetKey( 'noecho' )
  127.    if c2d( Char )=224 | c2d( Char )=0 then
  128.    do 
  129.       Char = SysGetKey( 'noecho' )
  130.       Char = c2d( Char )
  131.    end /* do */
  132.    else
  133.    do 
  134.       Zahl = c2d( translate( Char ) )
  135.       if Zahl==Key1 | Zahl==Key2 | Zahl==Key3 | Key1==0 then return Zahl
  136.    end /* do */
  137. end /* do */
  138. return 0
  139.  
  140.  
  141.