michifox
Goto Top

Problem Batchdatei mit MS Dos7.1

Hänge seit einigen Tagen an einem Problem und komme alleine nicht mehr weiter.
Habe mit mithilfe des Internets eine Datei zusammengebaut, die auch wunderbar an meinen Laptops in der
CMD laufen. Die Batch soll aber vom Stick mit Dos gestartet werden und da kommen immer die Fehlermeldungen
"Bad Command or Filename". slebst bei set p\ n= kommt die Meldung und erst gar keine Abfrage.
Ist es normal das es unter Dos nicht läuft?

Danke und schönen Sonntag

Content-Key: 589105

Url: https://administrator.de/contentid/589105

Ausgedruckt am: 29.03.2024 um 07:03 Uhr

Mitglied: michifox
michifox 19.07.2020 aktualisiert um 14:32:37 Uhr
Goto Top
Sorry, ab hinter set das / hier falsch geschrieben, im Programm ist es richtig und wie geschrieben läuft es in einer cmd ja einwandfrei.
Mitglied: michifox
michifox 19.07.2020 um 14:48:58 Uhr
Goto Top
Vielen Dank für die tolle Hilfe, auf die Idee wäre ich nicht gekommen.
Sorry das ich kein Profi wie du bist.
Mitglied: Henere
Henere 19.07.2020 um 16:12:44 Uhr
Goto Top
Bei MOS-DOS sind die Spezialisten sehr rar gesät.
Mitglied: rubberman
rubberman 19.07.2020 um 16:37:51 Uhr
Goto Top
Die Option /P für SET kam mit Windows NT und der cmd.exe. Unter DOS und command.com als Interpreter sind solche Erweiterungen unbekannt. Also, ja, ist normal dass es nicht funktioniert. (Wobei ich nicht weiß was ein MOS Dos eigentlich sein soll. MS-DOS?)

Steffen
Mitglied: michifox
michifox 19.07.2020 aktualisiert um 17:00:06 Uhr
Goto Top
Vielen Dank, dann weiss ich Bescheid.
Dann muss ich schauen was ich mache.
Gibt es eine denn "kleine Windowsversion" die das unterstützen?, ohne großen Aufwand wie externe Treiber für den Stick usw. installieren zu müssen?
Mitglied: rubberman
rubberman 19.07.2020 aktualisiert um 17:21:40 Uhr
Goto Top
Gibt auch Möglichkeiten mit DOS. Siehe
https://www.robvanderwoude.com/userinput.php#DOS
Wenn es sich bei der Eingabe um etwas handelt bei dem der User auch aus vorgegebenen Möglichkeiten auswählen könnte, so wäre CHOICE etwas das du in Betracht ziehen kannst. Zu beachten ist, dass choice.com unter DOS eine andere Syntax als choice.exe unter Windows hat, sowie dass DOS keine %errorlevel% Variable kennt und du mit der alten if errorlevel nSyntax arbeiten musst wobei das n hier ein Platzhalter für den eigentlichen Wert ist und in subsequenten IF Statements vom größten zum kleinsten möglichen Wert abzufragen ist.

Steffen
Mitglied: DerWoWusste
DerWoWusste 19.07.2020 um 23:14:59 Uhr
Goto Top
Moin.

Wen du verrätst, wozu du die Batch benutzt, dann kann man dir vielleicht eine Alternative bieten. Du kannst das vermutlich auch von WinPE (z.B. Kommandozeile von Windows Setup Disk) starten.
Mitglied: michifox
michifox 20.07.2020 um 02:32:32 Uhr
Goto Top
Ich muss in einer schreibgeschützten Text Datei die erste Zeile einfügen, wovon die letzten 9 Stellen eingefügt werden was ich eingebe.
Danach soll die Datei in einer CFG Datei abgespeichert und wieder schreibgeschützt werden.(sonst kommt das Tool damit nicht klar).
Anschließend die Datei als eine andere CFG abspeichern und ein Tool öffnen.
So klappt es im CMD:

@echo off

attrib -r manuel.cfg
set zeile=1

echo Bitte MAC eingeben:XX XX XX
echo Dann Enter druecken
set /p d=


set a=1

manuel.cfg (for /f "tokens=1,* delims=:" %%a in ('findstr /nr "^" "Ausgangscfg.txt"') DO (
if "%%a" == "%zeile%" (echo NODEID = 00 60 E0 %d%) else (echo(%%b)
))

attrib +r manuel.cfg
del 8168.cfg
del 8168.bak
copy manuel.cfg 8168.cfg
pg8168

echo Mac %d% wurde installiert
pause
mac.bat

Wie oben geschrieben, werde ich wohl mit Choice und Errorlevel das nicht hinbekommen.
Mitglied: cykes
cykes 20.07.2020 aktualisiert um 07:38:15 Uhr
Goto Top
Moin,
Zitat von @michifox:

Ich muss in einer schreibgeschützten Text Datei die erste Zeile einfügen, wovon die letzten 9 Stellen eingefügt werden was ich eingebe.
Danach soll die Datei in einer CFG Datei abgespeichert und wieder schreibgeschützt werden.(sonst kommt das Tool damit nicht klar).
Anschließend die Datei als eine andere CFG abspeichern und ein Tool öffnen.
Schreib's doch nicht so verschwurbelt, Du willst die MAC-Adresse einer (onboard?) NIC mit Realtek Chipsatz ändern. Aber zu welchem Zweck willst Du das tun, in über 90% der Fälle ist das unnötig und gerade bei onboard NICs kann das zu unerwünschtern Ergebnissen führen.
Und warum muss es in einer Batch sein, Du wirst ja nicht hunderte NICs abändern müssen.
Mit Deiner Version musst Du ja eh vor dem System sitzen und die Eingabe vornehmen. Natürlich geht das Tool pg8168 nur mit Realtek-Karten, bei anderen Chipsätzen hast Du damit keine Chance.
pause
mac.bat
Warum wird hier die Batch erneut aufgerufen oder macht die mac.bat etwas anderes?
Du kannst Dich mal durch die Batch-Tutorials des Ex-Forenmiglieds Biber wühlen: Workshop Batch for Runaways - Part I - Beispiel FindLongPath.Bat Bedenklich lange Pfade finden
... und die gefühlt eine Fantastilliarde Beiträge von ihm zum Thema Batch, da gibt's Lösungen für nahezu jedes Problem.

Gruß

cykes

P.S. Falls es nicht notgedrungen DOS 7.1 sein muss: Probier es mal mit FreeDOS, da sollte das SET Kommando mit gleicher Syntax verfügbar sein.
Mitglied: GrueneSosseMitSpeck
GrueneSosseMitSpeck 20.07.2020 aktualisiert um 07:26:51 Uhr
Goto Top
CMD in Windows und command.com vom Dos 7.1 liegen meilenweit auseinander.
Die Funktionsweise bzw Syntax der Batchdatei läßt sich in der Regel im QEmu ganz gut testen, exclusive dem Part von der Netzwerkkarte. Der wird nur im echten Boot klappen.

Und die Mac kann man bzw sollte man nicht ändern, das macht einem das Leben zur Hölle. Ich hab einmal in meinem Leben mit manipulierten Mac-Addressen zu tun gehabt, da war so ein oberschlauer Admin, der hatte doch tatsächlcih einige 3-Com Karten (3c509) mit derselben Mac versehen, um irggendeine Software bei den Lizenzen auszutricksen. Der hat dann damit sehr seltsame Blockaden auf Netzwerkebene bewirkt (damals noch Koax-Kabel mit 10 Mbit).

Die Fehlersuche hat ein paar Tage gedauert und bestand im Wesentlichen darin, alle Recher vom Kabel zu trennen und einen nach dem anderen wieder anzuschließen bis die Fehlfunktionen wieder anfingen.
Mitglied: Lochkartenstanzer
Lochkartenstanzer 20.07.2020 um 09:53:59 Uhr
Goto Top
Zitat von @cykes:


Schreib's doch nicht so verschwurbelt, Du willst die MAC-Adresse einer (onboard?) NIC mit Realtek Chipsatz ändern. Aber zu welchem Zweck willst Du das tun, in über 90% der Fälle ist das unnötig und gerade bei onboard NICs kann das zu unerwünschtern Ergebnissen führen.

Das benötigt man i.d.R. nur, um irgendwelche Lizenzverfahren auszutricksen. Oder in seltenen Fällen in High-Avalability-Umgebungen.

Oder man will Spoofing machen und andere abhören.

Zumidenst gibt es nur selten einen Grund sowas mahcne zu müssen.

lks
Mitglied: Lochkartenstanzer
Lochkartenstanzer 20.07.2020 aktualisiert um 09:58:12 Uhr
Goto Top

Ich hab einmal in meinem Leben mit manipulierten Mac-Addressen zu tun gehabt, da war so ein oberschlauer Admin, der hatte doch tatsächlcih einige 3-Com Karten (3c509) mit derselben Mac versehen, um irggendeine Software bei den Lizenzen auszutricksen. Der hat dann damit sehr seltsame Blockaden auf Netzwerkebene bewirkt (damals noch Koax-Kabel mit 10 Mbit).

Da hat er geschlampt. Da nimmt man zwei Netzwerkkarten. Eine für die Lizenz und eine für die Netzwerkkonnektivität. Die für die Lizenz wird einfach mit einem T-Stück und zwei Terminatoren "geerdet" und kann keine Probleme mehr bereiten. face-smile

lks

PS: MAC-Adressen ändern ist immer eine schlechte Idee, wenn man icht einen sehr sehr guten Grund dafür hat.
Mitglied: miniversum
miniversum 20.07.2020 aktualisiert um 13:57:20 Uhr
Goto Top
Zitat von @Lochkartenstanzer:

Da hat er geschlampt. Da nimmt man zwei Netzwerkkarten. Eine für die Lizenz und eine für die Netzwerkkonnektivität. Die für die Lizenz wird einfach mit einem T-Stück und zwei Terminatoren "geerdet" und kann keine Probleme mehr bereiten. face-smile

lks

Das T-Stück und die beiden Terminator für den RJ45 Anschluss sind wahrscheinlich gerade von den anderen 2000 Kollegen in Verwendung die die gleiche Software verwenden wollen face-wink

Gruß
...
Mitglied: michifox
michifox 21.07.2020 um 01:53:31 Uhr
Goto Top
Das Tool ist ein ganz legales Werkzeug von der Firma Realtek und ich mache damit nichts verbotenes.
Werde leider erst am Wochenende wieder dazu kommen, um mich weiter damit zu beschäftigen.
Mitglied: cykes
cykes 21.07.2020 aktualisiert um 04:12:01 Uhr
Goto Top
Zitat von @michifox:
Das Tool ist ein ganz legales Werkzeug von der Firma Realtek und ich mache damit nichts verbotenes.
Das hat auch grundsätzlich keiner zur Diskussion gestellt. Aber aus welchem Grund willst Du die MAC ändern, das macht man ja nicht nur weil es theoretisch geht zum Spaß und dann auch noch in einer Batch für offenbar mehrere Geräte?
Und dies aus Deinem Code:
echo NODEID = 00 60 E0 %d%
lässt ja (nicht nur) vermuten, dass Du die OUI abändern willst
00:60:E0 ist an Axiom Technology vergeben

Sag doch einfach klar, was das Ziel der Aktion ist, dann kann man ja weiter sehen.
Du hast Dich ja an ein Administrator-Forum gewandt und da läuten eben sofort die Alarmglocken - Manipulation durch Gefrickel.