home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 17 Fixes30
/
17-Fixes30.zip
/
warpico3.zip
/
DISK1
/
DMF_PS2.CMD
< prev
next >
Wrap
OS/2 REXX Batch file
|
1995-01-30
|
10KB
|
298 lines
/* */
/*
* ********************************************************************
* * Copyright (c) IBM Corporation, 1995 *
* * All Rights Reserved *
* ********************************************************************
*
*
* BESCHREIBUNG: Diese REXX-Befehlsdatei dient zur Änderung der Datei
* CONFIG.SYS für IBM MICRO CHANNEL PS/2-Systeme, um
* Microsoft Anwendungen zu installieren, die auf
* Ihrem IBM PS/2 MICRO CHANNEL-System im DMF-Format
* vorhanden sind.
*
*/
/* trace I */
call init
/* Version des aktuellen OS/2-Systems ermitteln. */
version = SysOs2Ver()
if version < '2.30' then /* 2.30 entspricht Version Warp. */
do
say 'Diese Befehlsdatei funktioniert nicht mit '
say 'dieser Version von OS/2. Programm beendet!'
exit
end
"@cls"
Say ' '
Say 'Mit diesem Programm können Benutzer von OS/2 Warp auf'
Say 'Systemen IBM PS/2 Software installieren, die auf Disketten'
Say 'im nicht standardmäßigen DMF-Format geliefert wird.'
Say ' '
Say 'Dieses Programm ändert die Datei CONFIG.SYS so, daß DMF-'
Say 'Disketten gelesen werden können. Nach Installation der DMF-'
Say 'Software sollten Sie dieses Programm erneut ausführen und '
Say 'mit der Option R die Originaldatei CONFIG.SYS wiederherstellen.'
Say ' '
Say 'Um die Datei CONFIG.SYS von OS/2 Warp zur Unterstützung der'
Say 'Installation von Disketten im DMF-Format zu modifizieren, '
Say 'geben Sie M ein. '
Say ' '
Say 'Um die Änderungen für das Lesen von DMF-Disketten wieder'
Say 'rückgängig zu machen, geben Sie R ein.'
Say ' '
Say 'Um dieses Programm ohne Änderungen zu beenden, '
Say 'geben Sie E für Ende ein.'
Say ' '
Say 'Geben Sie M (Modifizieren), R (Rückgängig) oder E (Ende) ein.'
parse upper pull answer . /* Antwort einholen */
if (answer='E' | answer='EXIT' | answer='ENDE') then /* Bei E beenden */
say 'Befehlsdatei beendet!'
else if (answer='RESTORE' | answer='R') then
call UNDO /* Bei R Routine UNDO aufrufen */
else if (answer='M' | answer = 'MODIFY') then
do /* Bei Modifizieren CONFIG.SYS ändern */
'@cls'
say ' '
say ' '
say ' '
say 'Auf welchem Laufwerk ist Ihr OS/2 Warp System installiert?'
say 'Geben Sie den Laufwerksbuchstaben oder Pfad (z. B. C:\) ein.'
say ''
/* Prüfen, ob angegebenes Laufwerk gültig ist. */
call Checkdrive /* Routine Checkdrive aufrufen */
fname=drive'\config.sys' /* Buchstaben und Pfad für CONFIG.SYS zuordnen */
/* Prüfen, ob CONFIG.SYS vorhanden ist. */
call sysfiletree fname, 'files.', 'F'
if files.0 < 1 then
do
say 'Datei CONFIG.SYS nicht gefunden.'
say 'Programm beendet.'
exit
end
sname=drive'\config.dmf' /* Buchstabe und Pfad der Sicherungsdatei */
/* für CONFIG.SYS zuordnen */
/* Prüfen, ob CONFIG.DMF bereits existiert. */
call sysfiletree sname, 'files.', 'F'
if files.0 >= 1 then
do
say 'Datei CONFIG.DMF existiert bereits. Überschreiben (J/N)?'
parse upper pull answer
answer = left(answer,1)
if answer = 'N' then
do
say 'Löschen Sie CONFIG.DMF oder benennen Sie die Datei um,'
say 'bevor Sie DMF_PS2 ausführen.'
exit
end
end
nname=drive'\config1.tmp' /* Buchstabe und Pfad für temporäre */
/* Datei zuordnen */
say 'Änderung wird ausgeführt ........'
say ' '
"@copy" fname sname ">nul 2>nul" /* CONFIG.SYS sichern */
call lineout nname,,1
do while lines(fname) /* Analyse der CONFIG.SYS und Suchen der */
str = linein(fname) /* zu ändernden Zeichenfolge */
basedev = (substr(str,1,20)) /* Nur die ersten 20 Zeichen der */
/* Zeile sind relevant */
select
when substr(basedev,1,20) == 'BASEDEV=IBM1FLPY.ADD' then do
if left(reverse(str), 4) \= 'ACM/' then do
call lineout nname, str '/MCA' /* Option /MCA zum Treiber */
end /* IBM1FLPY.ADD hinzufügen */
else
call lineout nname, str
end
when substr(basedev,1,20) == 'BASEDEV=IBM2FLPY.ADD' then do
call lineout nname, 'REM' str /* REM: Treiber */
end /* IBM2FLPY.ADD auf Kommentar */
otherwise do
call lineout nname, str
end
end
end
call lineout fname
call lineout nname
"@copy" nname fname ">nul 2>nul"
"@erase" nname
"@cls"
say ''
say ''
say ''
say ''
say 'Geändert wurde die Datei' fname
say ''
say 'Ihre Datei CONFIG.SYS wurde geändert. Die Originalversion '
say 'wurde unter CONFIG.DMF gesichert. Führen Sie einen System-'
say 'abschluß durch und starten Sie das System neu, damit die '
say 'Änderungen wirksam werden.'
say 'Nach der Installation der DMF-Anwendungen führen Sie DMF_PS2'
say 'erneut mit der Option R (Rückgängig) aus, um das System auf'
say 'den ursprünglichen Stand zurückzusetzen.'
end
else
say 'Eingabe ungültig.'
say 'Programm beendet.'
exit
UNDO:
'@cls'
say ' '
say ' '
say ' '
say 'Auf welchem Laufwerk ist Ihr OS/2 Warp System installiert?'
say 'Geben Sie den Laufwerksbuchstaben oder Pfad (z. B. C:\) ein.'
say ' '
call Checkdrive
fname=drive'\config.sys'
call sysfiletree fname, 'files.', 'F'
if files.0 < 1 then
do
say 'Datei CONFIG.SYS nicht gefunden.'
say 'Programm beendet.'
exit
end
nname=drive'\config1.tmp'
do while lines(fname) /* Hier wird geprüft, ob die DMF-Änderungen */
str = linein(fname) /* in der CONFIG.SYS zurückgeändert werden */
basedev = (substr(str,1,24)) /* müssen. */
select
when substr(basedev,1,20) == 'BASEDEV=IBM2FLPY.ADD' then do
"@CLS"
say ' ' /* Wird dies gefunden, */
say ' ' /* Nachricht anzeigen. */
say ' '
say 'Die Datei CONFIG.SYS enthält keine DMF-Änderungen.'
say 'Es ist nichts rückgängig zu machen.'
say 'Programm beendet!'
call exit
end
when substr(basedev,1,24) == 'REM BASEDEV=IBM2FLPY.ADD' then do
call lineout nname
call lineout fname /* Wird dies gefunden, undo2 */
call undo2 /* aufrufen, um die DMF-Änderungen */
end /* zurückzunehmen. */
otherwise do
call lineout nname, str
end
end
end
EXIT:
call lineout nname
"@ERASE" nname
exit
UNDO2:
"@erase" nname
nname=drive'\config1.tmp'
call lineout nname,,1
do while lines(fname)
str = linein(fname)
basedev = (substr(str,1,24))
select
when substr(basedev,1,24) == 'REM BASEDEV=IBM2FLPY.ADD' then do
newstr = (subword(str,2))
call lineout nname, newstr
end
when substr(basedev,1,20) == 'BASEDEV=IBM1FLPY.ADD' then do
parse var str final remaining
num_item = words(remaining)
do p = 1 to num_item
if strip(word(remaining, p)) \= '/MCA' then
final = final || ' 'word(remaining, p)
end
call lineout nname, final
end
otherwise do
call lineout nname, str
end
end
end
call lineout fname
call lineout nname
"@copy" nname fname ">nul 2>nul"
"@erase" nname
"@cls"
say ''
say ''
say ''
say ''
say 'Ihre Datei CONFIG.SYS wurde wiederhergestellt. Damit die Änderung'
say 'wirksam wird, führen Sie einen Systemabschluß durch und starten Sie'
say 'das System neu.'
exit
CheckDrive:
/* Lokale Laufwerksbuchstaben ermitteln. */
drivemap = sysdrivemap('c:', 'LOCAL')
parse upper pull drive .
drive = strip(translate(drive, ' ', '\'))
num_item = words(drive)
if num_item > 1 then
do
say 'Drive not recognized.'
say 'Program ended.'
exit
end
found = 'NO'
do while drivemap \= ''
parse var drivemap head tail
drivemap = tail
head = strip(head)
if head = drive then
found = 'YES'
end
if found = 'NO' then
do
say 'Laufwerk nicht erkannt.'
say 'Programm beendet.'
end
return
/* Laden der Bibkliothek mit den Systemfunktionen. WPW001 */
Init: Procedure
/* Laden der Bibliothek */
if RxFuncQuery('SysLoadFuncs') then do
Call RXFuncAdd 'SysLoadFuncs','RexxUtil','SysloadFuncs'
end
Call SysLoadFuncs
return