An die anderen alten Hasen hier im Forum: Hilfe zu Umleitung der MS-DOS-Ausgabe in Datei

alter-hase81

New member
Registriert
10 Juli 2006
Beiträge
311
An die anderen alten Hasen hier im Forum: Hilfe zu Umleitung der MS-DOS-Ausgabe in Datei

Ja, richtig gelesen - es geht tatsächlich um MS-DOS bzw. die DOS-basierte Bootdisk von Windows 98.
Wie funktioniert die Ausgabe des Bildschirminhalts in eine Datei?
Mit > DATEI.TXT geht es nicht - vielleicht, weil das betreffende NAS keine Grafikkarte hat? Kennt jemand eine Alternative?

Hintergrund: Um den unsäglichen Idle Time Out der Western Digital Platten in meinem NAS auf 300 Sekunden zu stellen, habe ich nach Anleitung einen USB-Stick bootfähig gemacht und eine selbstgeschriebene Batch-Datei zum Aufruf von WDIDLE3 draufkopiert. Diese wird in der AUTOEXEC.BAT mit CALL aufgerufen und ich versuche, die Ausgabe mittels '> AUSGABE.TXT' umzuleiten, um den Erfolg des Tools kontrollieren zu können.
Außerdem schreibt die Batch-Datei den Errorlevel von WDIDLE3 in eine Datei.

Beim manuellen testweisen Aufruf auf meinem T40 und auch auf dem T61 mit WD-Festplatte ging alles wunderbar, in der AUSGABE.TXT steht der komplette Bildschirminhalt und in der Datei mit dem Errorlevel '000' - sollte also geklappt haben.

Beim NAS steht in der Errorlevel-Datei ebenfalls eine '000', aber leider in der AUSGABE.TXT nichts. Das NAS hat keine Grafikkarte - liegt's daran? Wie kann man trotzdem an die Ausgabe von WDIDLE kommen??

Danke schonmal für alle Tips aus prähistorischer Zeit ;)



Hier noch der Quellcode der Batch-Datei, in der AUTOEXEC.BAT steht nur 'call wdidle.bat > ausgabe.txt':

Code:
@echo off 
echo Dieses Skript setzt den Idle Time Out bei WD-Festplatten auf 300 Sekunden. AHCI muss im BIOS deaktiviert sein! 
echo. 
::pause 
echo. 
echo Folgendes Tool wird benutzt: 
wdidle3.exe /? 
echo. 
echo Im folgenden Schritt wird versucht, bei allen installierten WD-Festplatten der Idle Time Out auf 300 Sekunden zu setzen. 
echo. 
echo Bereit? 
echo. 
::pause 
wdidle3.exe /S300 
echo. 
echo Errorlevel: 
echo 0 No error 
echo 1 Drive problem 
echo 254 Internal program error 
echo 255 Invalid command line argument 
echo. 
echo Bei dieser Operation 
set != 
:: Hunderter - Danke an MSDOSBefehle.de 
FOR %%h in (0 1 2) do IF Errorlevel %%h00 set EL=%%h 
:: & Zehner 
IF not Errorlevel 200 set !=6 7 8 9 
FOR %%z in (0 1 2 3 4 5 %!%) do IF Errorlevel %EL%%%z0 set EL=%EL%%%z 
:: & Einer 
IF not Errorlevel 250 set !=6 7 8 9 
FOR %%e in (0 1 2 3 4 5 %!%) do IF Errorlevel %EL%%%e set EL=%EL%%%e 
:: 
echo Errorlevel: %EL% 
echo Errorlevel: %EL% > e-level.txt 
set != 
echo. 
echo Errorlevel in Datei E-LEVEL.TXT geschrieben. 
echo. 
::pause
 
Ich denke das Problem ist der Aufruf mit call...
Führ einfach am Ende der autoexec.bat wdidle.bat > ausgabe.txt aus und es sollte eigentlich klappen. > funktionierte ziemlich sicher unter win98 schon...
 
GIbts unter Dos sowas wie >> ? also sprich nicht Datei ersetzen sondern anhängen?

Dann hinter jeden echo-Befehl und hinter wdidle3.exe /S300 einfach >> bla.txt. Glaube aber das gibts unter Dos nicht.
 
Danke für den Tip - so hat's funktioniert: Ich habe einfach in der WDIDLE.BAT hinter WDIDLE.EXE /S300 ein '> WD.TXT' geschrieben, dann habe ich zwar nicht die Ausgabe der gesamten Batch-Datei, aber das Wesentliche zur Erfolgskontrolle :thumbup: Manchmal sind die einfachsten Lösungen (direkt hinter dem Brett, vorm Kopf) die besten :facepalm:

Es scheint wohl so zu sein, dass die AUTOEXEC.BAT noch keine Ausgabedatei erzeugen kann.

Danke für die Hinweise!
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben