PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Brauche Hilfe beim Erstellen einer *.bat


Snoopy69
2015-02-05, 18:59:34
Ich möchte den Befehl "sfc /scannow" so automatisieren, dass nachdem der Befehl abgearbeitet wurde automatisch CBS.Log geöffnet wird.

Habe in die *.bat "sfc /scannow" eingegeben, aber nun bräuchte ich Hilfe, wie es weiter geht.

Lokadamus
2015-02-05, 19:01:42
Probier in der Eingabeaufforderung im richtigen Verzeichnis mal aus:
editor cbs.log

Lyka
2015-02-05, 19:14:11
war das nicht edit.com cbs.log

bzw edit cbs.log


?

Lokadamus
2015-02-05, 19:21:09
edit ist der Aufruf für den internen MS-DOS Editor.
Der ist allerdings bei Win 7 X64 nicht mehr vorhanden und bei x86 bin ich mir nicht sicher.

Über editor wird das Notepad/ Editor- Ding in Windows selber aufgerufen. Durch die Angabe der Datei bzw. des Pfades und der Datei sollte die Datei direkt geöffnet werden. Zu Zeichenfehlern bei öäü kann es aufgrund der unterschiedlichen Zeichensätze kommen, sollte aber nicht so schlimm zu lesen sein. Windows verwendet einen Zeichensatz mit der Bezeichnung 1252, während unter Dos irgendwas 3 stelliges benutzt wird.

http://en.wikipedia.org/wiki/Windows-1252
http://de.wikipedia.org/wiki/ISO_8859-1
http://de.wikipedia.org/wiki/Codepage_850

Snoopy69
2015-02-05, 21:07:02
Probier in der Eingabeaufforderung im richtigen Verzeichnis mal aus:
editor cbs.log
Wäre ich nicht drauf gekommen :ulol:

Nee, ich meinte, dass cbs.log selbstständig aufgerufen wird, nachdem sfc /scannow fertig ist.
Notfalls wäre ich auch mit einer Zeitverzögerung in der .bat zufrieden.

Lyka
2015-02-05, 21:11:15
du brauchst halt ein Anzeigeprogramm o_O

PHuV
2015-02-05, 21:37:11
Du kannst jedes beliebige Programm per exec oder aufruf mit Pfadangabe der zu anzeigenden Datei starten. :confused: Ich verstehe Dein Problem nicht. Wenn Du das in einer Bat-Datei machst, wird der nächste Befehl erst ausgeführt, wenn der Vorgänger fertig ist.

Gast
2015-02-05, 21:48:42
Hier bitte :

sfc /scannow
TIMEOUT 1
COPY C:\Windows\Logs\CBS\CBS.log C:\Windows\Temp
TIMEOUT 1
START C:\Windows\Temp\CBS.log
PAUSE



Anmerkungen :
Du musst die .bat per Mausrechtsklick als Admin ausführen sonst fehlen dem SFC die nötigen Rechte.
Willst du das das Fenster sich am Ende automatich schliesst lasse denn "PAUSE" - Command am Ende weg.
Warum der Copy-Command : Die CBS.LOG kann man hier nicht so leicht öffnen (trotz Adminrechte) drum der Trick sie einfach zuerst in einem Win-Temp-Ordner zu kopieren (bestehende wird ersetzt) und von dort kann sie dann geöffnet werden.

Gast
2015-02-05, 22:05:58
[QUOTE=Gast;10514284]Hier bitte :

sfc /scannow
TIMEOUT 1 /nobreak
COPY C:\Windows\Logs\CBS\CBS.log C:\Windows\Temp
TIMEOUT 1 /nobreak
START C:\Windows\Temp\CBS.log
PAUSE

"/nobreak" wäre noch zu empfehlen, ansonsten wird der (sicherheitshalber vor kopieren und öffnen eingefügte) kleine Sleep von 1Sek. (per Timeout) durch Tastatureingaben abgebrochen/übersprungen, siehe z.b. hier :
http://ss64.com/nt/timeout.html

Ansonsten kann man es eigentlich so lassen.

Snoopy69
2015-02-05, 22:21:28
Werd ich bei Gelegenheit mal ausprobieren - danke... :wink:


edit: Gast

Funktioniert :uup:

Was muss ich hinzufügen, damit das cmd-Window automatisch geschlossen wird.
Ich muss es sonst mit irgendeiner Taste schliessen...

Gast
2015-02-05, 22:53:17
Was muss ich hinzufügen, damit das cmd-Window automatisch geschlossen wird.

Lasse das "PAUSE" am Ende des CODES weg oder ersetze es durch EXIT

Gast
2015-02-05, 22:54:01
"Exit" heisst das Zauber
wort

Snoopy69
2015-02-05, 22:59:45
Danke :uup:

Gast
2015-02-05, 23:55:25
Hier noch eine Möglichkeit wobei dann nur die reparierten und nicht reparierbaren Files einem dann gezeigt werden, das ganze ist dann kompakter und einfacher für die Fehlersuche eventuell, macht auch die (endgültige) Datei nicht so groß :

sfc /scannow
TIMEOUT 1 /nobreak
findstr /c:"[SR]" %windir%\logs\cbs\cbs.log > C:\Windows\Temp\CBS.log
TIMEOUT 1 /nobreak
START C:\Windows\Temp\CBS.log
EXIT

PHuV
2015-02-06, 00:04:34
Wozu eigentlich das TIMEOUT? :confused: Bei Batch folgt doch eh erst der nächste Befehl, wenn der Vorgänger beendet wird. TIMEOUT ist doch nur dann angebracht, wenn beim Befehlabsetzen Asynronitäten oder Verzögerungen zu erwarten sind.

Lokadamus
2015-02-06, 00:18:55
Wozu eigentlich das TIMEOUT? :confused: Bei Batch folgt doch eh erst der nächste Befehl, wenn der Vorgänger beendet wird. TIMEOUT ist doch nur dann angebracht, wenn beim Befehlabsetzen Asynronitäten oder Verzögerungen zu erwarten sind.Das Problem dürfte eher sein, dass Snoopy nicht so viel Ahnung von Batch hat, wie erwartet und so von einem Prob über das nächste stolpert. ;)

Gast hat schon geschrieben, dass man als Admin die Log- Datei wohl nicht so einfach aus dem normalen Ordner aufrufen kann. Hört sich nach aktivem UAC an.

kevsti
2015-02-06, 02:39:30
@Lokadamus, ich denke PHuV meint nicht den Kopiervorgang, sondern nur die Verzögerung durch den Timeoutbefehl.
Vermutlich gehts auch ganz gut ohne, andererseits kommt es ja auf 2 Sekunden Verzögerung auch nicht an - und sicher ist sicher... Solang es nichts zeitkritisches ist, mache ich auch stets einige Timeouts/Pausen bevor der nächste Befehl abgearbeitet wird (nicht nur bei Batch). Ob ich dadurch jemals mehr Zuverlässigkeit gewonnen habe? K.a... aber gekostet hats mich ja auch nix.

Lokadamus
2015-02-06, 12:53:42
Kevsti, lies dir nochmal kurz Snoopys Kommentar (https://www.forum-3dcenter.org/vbulletin/showthread.php?p=10514210#post10514210) Nr. 5 durch. ;)

Der Gast hat im Prinzip alles beantwortet, was Snoppy wissen wollte.
Wenn Snoppy sich etwas besser mit Batch- Dateien auskenen würde, hätte er auch gemerkt, dass er den Befehl von mir direkt unter seiner Zeile reinwerfen könnte. Mit einigen Variablen gibt es hin und wieder Probs in Batch- Dateien, aber dann müssen sie einfach per "%%windir%%" angegeben werden, also doppelt in Prozentzeichen gesetzt werden. Sollte hier allerdings nicht der Fall sein, da es keine selbstdefinierten Variablen sind.

Um die Frage wegen Timeout zu beantworten, es ist selten, dass es Probs gibt. Wenn, dann fummelt irgendein Cache- oder Malwareprogramm daran rum oder das Logfile ist relativ groß und muss aus dem Ram noch niedergeschrieben werden.

So müsste es auch gehen, kann es aber nicht testen, weil kein aktuelles Win da:
sfc /scannow
findstr /c:"[SR]" %windir%\logs\cbs\cbs.log > %windir%\Temp\CBS.log
editor %windir%\Temp\CBS.log

kevsti
2015-02-06, 14:22:04
Öhm ja habe ich - neue Erkenntnisse worauf die hinaus willst, habe ich dadurch aber nicht erlangt...

Spricht doch nichts gegen meinen vorherigen Kommentar? Habe das Gefühl, dass wir alle ein wenig an einander vorbei reden :D Aber ist letztlich auch egal, die Hilfeanfrage des TE wurde ja zufriedenstellend beantwortet.

Snoopy69
2015-02-06, 15:19:05
Wenn Snoppy sich etwas besser mit Batch- Dateien auskenen würde, hätte er auch gemerkt, dass er den Befehl von mir direkt unter seiner Zeile reinwerfen könnte.
Leider wahr...
Aber musst du immer wieder draufhauen? :freak:

Die aktuelle WIN7 kannst du hier saugen - ganz legal...

http://www.heidoc.net/joomla/technology-science/microsoft/14-windows-7-direct-download-links

Die passenden Checksummen findest du überall im Netz

btw:
Reset the evaluation timer

After 30 days of evaluation, you can reset the evaluation timer by opening the command prompt in admin mode, and typing in the command "slmgr -rearm". You can repeat this procedure up to 3 times, so your evaluation time will be 120 days altogether.

Lokadamus
2015-02-06, 16:00:50
Die aktuelle WIN7 kannst du hier saugen - ganz legal...

http://www.heidoc.net/joomla/technology-science/microsoft/14-windows-7-direct-download-linksDanke :), kenn ich schon. Win7 läuft nach Ablauf des Zeitfensters im eingeschränkten Modus weiter und macht verschiedenen Blödsinn (Outlook holt Mails nicht ab usw.).

Prob ist einfach, ich brauch mal neue Hardware, um die Sachen effektiv nutzen zu können. Wenn ich gute Hardware hätte, hätte ich es als VM in der Hinterhand. ;)

Snoopy69
2015-02-06, 16:10:50
Prob ist einfach, ich brauch mal neue Hardware, um die Sachen effektiv nutzen zu können. Wenn ich gute Hardware hätte, hätte ich es als VM in der Hinterhand. ;)
Wem sagst du das? :wink:

Das einzig "neue" ist die Graka.
Der Nächste sollte aber gerade wegen VM min. 24GB RAM haben (kratze oft an 12GB)