Batches
Jörg Tewes
jogi1964 at gmxpro.net
Mit Okt 6 16:06:00 CEST 2004
Dienstag, 05.10.04 Michael Heydekamp schrub...
Hi!
> Jörg Tewes <jogi1964 at gmxpro.net> wrote on 04.10.04:
>> Sonntag, 03.10.04 Michael Heydekamp schrub...
>>> Jörg Tewes <jogi1964 at gmxpro.net> wrote on 02.10.04:
>>>>> Ich kann nur über die Batches sprechen, die ich schreibe. Und
>>>>> da bin ich über Fallen gestolpert, die ich mir nicht habe
>>>>> träumen lassen.
>>>> Damit muß man rechnen wenn man unter verschiedenen Plattformen
>>>> entwickelt.
>>> Ach, sach bloß... Warum, glaubst Du, werfe ich die Batch von
>>> Zeit zu Zeit auf den WinXP-Rechner, um die wichtigsten Routinen
>>> zu testen? Ganz bestimmt nicht, weil ich nicht damit rechne.
>> Deine Aussage hört sich so an. Oder wie würdest du "hätte ich mir
>> nicht träumen lassen" interpretieren?
> Gar nicht, ich würde vor allem den ganzen Satz und auch die davor
> lesen (aka den Zusammenhang zu erkennen versuchen).
Habe ich gemacht und bin zum selben Ergebnis wie vorher gekommen.
> Daß es Inkompatibilitäten gab, war ja allgemein bekannt und darüber
> haben wir schon vor Jahren in den XP2-Gruppen ansatzweise
> diskutiert (da ging's noch um Win2K). Daran könntest Du Dich
> vielleicht erinnern, jedenfalls warst Du da anwesend.
Klar erinnere ich mich dunkel.
> Die Aussage war also nicht, daß ich mir nicht habe träumen lassen,
> *daß* es Fallen gibt, sondern ich habe mir nicht träumen lassen
> *welche* Fallen es gibt. Daß sowas Simples wie "echo 1>test.txt"
> nicht mehr funktioniert, war jedenfalls für mich erstmal neu und
> überraschend.
Aber wieso war es überraschend? Doch wohl nur weil du erstmal
angenommen hast der command.com der WinNT Derivate funktioniere
genauso wie der von DOS und Win9x. Aber genau das ist das Problem, die
WinNT Derivate haben mit DOS garnichts und mit Win9x bis auf den Namen
nicht mehr sehr viel gemeinsam. Das ein command.com überhaupt
"mitgeliefert" wird ist nur der Kompatibilität geschuldet. Also genau
der Grund warum z.B. Win9x so häufig abstürzt oder gar nur 512 Mbyte
Speicher sinnvoll verwalten und nicht beliebig lange durchgehend
laufen kann. Man müßte also wenn man Batches für mehrere OS schreibt
abfragen ob ein command.com vorhanden ist und läuft oder ob eine CMD-
Shell läuft. Wenn man das nicht macht, oder spezielle Tools nutzt,
wird man früher oder später auf die Nase fallen.
>>> wes willst Du damit sagen? Daß man auch nicht auf die Idee
>>> kommen dürfe, daß Batches, die unter dem COMMAND.COM von Win9x
>>> noch gelaufen sind, auch noch unter dem COMMANDN.COM von WinNT
>>> laufen?
>> Genau das! Hatte FreeXP nicht auch Probleme unter einer DOS-Emu
>> unter Linux (ich gehe mal davon aus das auch dort ein command.com
>> zum Einsatz kommt)?
> Es gab was mit Filehandles und DOSBOX, aber nix mit Dosemu. Wobei
> man beides überhaupt nicht vergleichen kann.
Ahja.
> Wir reden hier über Batches. Schon mal "echo 1>tst.txt" unter
> Dosemu oder DOSBOX probiert?
Nein wie sollte ich denn, habe ja kein Linux. Mir war das nur im
Gedächtnis das es da was spezielles für gab.
>> Da hat aber niemand etwas komisch gefunden. Nur weil unter Win NT
>> von dergleichen Firma kommt nimmt man an es wäre dasselbe.
> Oh Mann...
>
> Ich weiß nicht, wer das annimmt. Jedenfalls ist es eine sich
> fortsetzende Linie ein- und desselben Herstellers, und es gibt den
> Support für DOS in WinNT aus Gründen der Abwärtskompatibilität.
> Und nicht, weil NT selbst den bräuchte.
Ja bloß treibt man glücklicherweise diese Abwärtskompatibilität nicht
so weit das das System selbst instabil wird wie bei Win9x. Damit will
ich nicht sagen das der Echo Fall hier etwas gegen die System-
stabilität täte, aber wohin sowas fürht hat man ja gesehen. Und nein
Win2k/WinXP ist nicht die weiterführende Linie von Win9x oder gar DOS.
Es sind bloß alles OS aus dem Hause Microsoft. Ansonsten hat Win2k/
WinXP bis auf den Namnen nix mit Win9x zu tun.
> Da wäre es natürlich zunächst mal überhaupt nicht abwegig
> anzunehmen, daß es sich eben auch um eine solche (also
> Kompatibilität) handelt.
Wenn man deine Annahmen als gegeben annimmt ja ansonsten nein. Ich und
die meisten die mit den WinNT Derivaten arbeiten tun das nicht. Da
ists ein Wunder wenn es funktioniert. Weil es normalerweise nicht
gedacht ist als Ersatz für DOS herzuhalten.
>>> Auch wenn man eine Umgebung emuliert, ist es möglich, nicht
>>> solche Fallen einzubauen. Die Differenzen
>>> Linux<=>COMMAND/CMD(WinNT) mit den Differenzen
>>> COMMAND(Win9x)<=>COMMAND/CMD(WinNT) gleichzusetzen, ist ja wohl
>>> ein schlechter Scherz.
>> Nein finde ich nicht. Beides Mal ists ein völlig andere OS.
> Iss klar... Eigentlich sind sich Windows und Linux viel ähnlicher
> als Windows und DOS. <g>
In der Behandlung der Commandzeile sicherlich.
>>> Alleine schon, weil Linux keine DOS-Batches kennt,
>>> COMMAND/CMD(WinNT) aber schon.
>> In der DOS Emulation kennt auch Linux DOS Batches.
> Hüülfääää....
>
> Du hattest doch IIRC von Linux-Scripten gesprochen, von denen
> keiner auf die Idee käme, daß sie unter DOS (oder Windows?) laufen
> könnten, richtig? Also reden wir von perl u.ä., richtig?
Nein, Perl ist ne eigene "Sprache" ich rede von sowas
if test -n "$1"; then
type="$1"
else
type="fast"
fi
time cdrecord \
-v \
speed=99 \
dev=0,5,0 \
blank=$type \
-force
> Sicher, die DOS-Unterstützung bei WinNT/2K/XP muß man sich erst
> nachträglich von einem third-party-Hersteller besorgen.
Nein natürlich nicht. Hat aber nix zu tun damit.
>>> Mit derselben Argumentation könntest Du darlegen, daß man nicht
>>> auf die kommen dürfe, DOS-Programme (statt DOS-Batches) würden
>>> unter WinXP noch laufen.
>> Und wenn DOS Programme unter Windows nicht 100%ig so laufen wie
>> unter reinem DOS ist das was?
> Sorry, es ging nicht darum, wie sie laufen, sondern darum, *ob* sie
> laufen:
Naja ich war davon ausgegangen das du nur bemängelst das sie nicht
ganz das machen was du möchtest aber im Prinzip schon funktionieren.
> ----------8<----------
>>>> Niemand würde auf die Idee kommen, das Scripts die unter Linux
>>>> entwickelt und verwendet werden unter DOS oder Windows laufen.
> ----------8<----------
> Daraus war Deine Schlußfolgerung, daß man bei Batches auch nicht
> auf die Idee kommen würde.
Ok Fehler meinerseits, "nicht auf die Idee kommen dürfte" war gemeint.
Aber es ging eigentlich ja darum das es nicht funktioniert wie
gewünscht. Also es kommt nicht die Fehlermeldung das der Batch kein
Windows Programm wäre sondern es funktioneirt nicht wie gewünscht. Im
Endeffekt komts natürlich auf dasgleiche raus, obwohl ich nicht weiß
was der nicht funktioneirende Echo Befehl hier für eine Wirkung hat,
aber im Prinzip funktioniert die Batchdatei ja.
>> Ich meine natürlich kann man auf die Idee kommen das DOS Programme
>> unter Windows laufen,
Ich füge das von dir nicht zitierte mal hier wieder ein, sonst
entsteht noch der Eindruck du würdest sinnentstellend zitieren.
[*Zitat*]
Ich meine natürlich kann man auf die Idee kommen das DOS Programme
unter Windows laufen, aber man sollte sich nicht wundern wenn sie
nicht so laufen wie unter reinem DOS.
[*Zitat Ende*]
> Ach, doch jetzt?
Man kann auf ganz andere Ideen kommen, man sollte sioch bloß wie schon
oben geschrieben nicht über das Ergebnis wundern.
> Also gibt's schon einen ganz kleinen Unterschied in der Bewertung
> DOS<=>Windows und Linux<=>Windows?
Sicher gibts einen Unterschied. Allerdings eben nur einen kleinen. Bei
Linux muß man DOS Unterstützung besorgen bei Windows NT ist sie dabei.
Wohlgemerkt DOS Unterstützung keine 100%ige Kompatibilität.
>> Das Problem dürfte doch eher sein das es früher nur DOS und Win9x
>> gab, was zumindest für DOS Programme dasselbe ist,
> Nope. Schon da gibt's Unterschiede, auch in der Batchverarbeitung.
> Was es nicht besser macht.
Schwerwiegende Unterschiede?
> Es ist technisch durchaus möglich, eine DOS-Emulation zu bauen, die
> wie bisher "echo 1>test.txt" kann. Selbst für Microsoft.
Ja aber eben nicht gewollt. Nehme ich mal an, vielleicht haben sie es
ja auch einfach nur vergessen.
Und Tschüss Jörg
--
"Life is life, whether it's wrapped in skin, scales, or feathers.
Now if you respected these beings instead of constantly trying to
murder them, you'd appreciate that!"
(Dr. Franklin (to his father), "GROPOS")
Mehr Informationen über die Support-List Mailingliste