![Schreiben Sie bestimmten Text in eine TXT-Datei mit einem Batch-Skript](https://rvso.com/image/1438667/Schreiben%20Sie%20bestimmten%20Text%20in%20eine%20TXT-Datei%20mit%20einem%20Batch-Skript.png)
Ich habe ein Skript, das mehrere Programme installiert.
Ich möchte eine Reihe von Batch-Skripten schreiben, um diese Installationen zu protokollieren.
Ich hoffte, einen Befehl zu finden, mit dem ich diese Textdatei auswählen und bei jeder Ausführung eine Zeile in die Datei schreiben könnte.
- Flash-Installationen
- Batch-Datei ausgeführt und protokolliert Text "Flash installiert" zu
c:\log\logfile.txt
- Java-Installationen
- Batch-Datei wird ausgeführt und schreibt den Text "Java installiert" in
c:\log\logfile.txt
- und so weiter
so dass in der Protokolldatei nach Abschluss Folgendes steht:
flash installed
java installed
chrome installed
so on
und so weiter
Ich finde jedoch viele Skripte zum Schreiben in bestimmte Zeilen oder zum Bearbeiten bestimmter Textzeichenfolgen. Ich sehe keine Skripte zum einfachen Schreiben in die nächste leere Zeile. Vielleicht gehe ich das falsch an.
Antwort1
ZuAnhängeneine Zeile in eine Textdatei mit einem Windows-Befehlszeilen-Batchskript. Sie können die Ausgabeumleitung verwenden, indem Sie zweimal das Größer-als-Zeichen verwenden >>
. Zum Beispiel
echo "java installed" >> c:\log\logfile.txt
Verwandt:
- Stdout vom Terminal an Datei anhängen?(gilt aber auch für OSX)
- Verwenden von Befehlsumleitungsoperatoren(XP, aber größtenteils immer noch anwendbar)
- Umleiten von Fehlermeldungen aus der Eingabeaufforderung: STDERR/STDOUT
Antwort2
hey, ich suche im Moment eigentlich nach einer Antwort auf etwas anderes und bin darauf gestoßen, also dachte ich, ich poste einfach ein Skript, das ich bei meinem letzten Job gemacht habe
@echo aus Echo Flash-Check
setze KEY_NAMEFP=HklM\Software\macromedia\Flashplayer
setze VALUE_NAMEFP=AktuelleVersion
für /F "usebackq tokens=3" %%A IN ( reg query "%KEY_NAMEFP%" /v "%VALUE_NAMEFP%" 2^>nul ^| find "%VALUE_NAMEFP%"
) mache ( setze A=%%A )
Echo-Flash %A%
echo Flash %A%>>%computername%.log
Echo IE-Prüfung
setze KEY_NAMEIE=HklM\Software\microsoft\internet explorer setze VALUE_NAMEIE=svcVersion für /F "usebackq tokens=3" %%B IN ( reg query "%KEY_NAMEIE%" /v "%VALUE_NAMEIE%" 2^>nul ^| find "%VALUE_NAMEIE%"
) do ( setze B=%%B )
echo IE Version %B%
echo IE-Version %B%>>%computername%.log
echo Java-Prüfung
setze KEY_NAMEJ=HKLM\SOFTWARE\JavaSoft\Java Runtime Environment setze VALUE_NAMEJ=CurrentVersion für /F "usebackq tokens=3" %%C IN ( reg query "%KEY_NAMEJ%" /v "%VALUE_NAMEJ%" 2^>nul ^| find "%VALUE_NAMEJ%"
) do ( setze C=%%C )
echo Java Version %C%
echo Java Version %C% >>%computername%.log
Pause