Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Drei Batch-Dateien in eine Log speichern...

Frage Entwicklung Batch & Shell

Mitglied: zeroblue2005

zeroblue2005 (Level 2) - Jetzt verbinden

12.06.2013 um 09:37 Uhr, 1932 Aufrufe, 6 Kommentare

Hallo Zusammen,

ich bastele gerade an einer Update Update-Batch. Was auch gut funktioniert!

Der Ablauf ist recht simpel (Vereinfachte Darstellung):

1.Batch wird von Hand gestartet (Update vom Client Starten)
@echo Hallo bla bla bla
net use...
usw.
call x:\Update.bat


2.Batch (Automatisierter Ablauf):
@echo Dateien werden kopiert...
del...
usw.
call C:\starte-Programm.bat

3.Batch (Start des Programms):
call "C:\Das Programm.exe"
exit

Nun möchte ich erreichen, dass Batch 1+2+3 eine Logdatei erzeugt auf C:\Log-rap.txt

Dafür habe ich am Anfang der ersten Batch folgendes geschrieben:

@echo Datum:%Date%>>C:\Log-RAP.txt
@echo Zeit:%Time%>>C:\Log-RAP.txt
@echo Use:%USERNAME%>>C:\Log-RAP.txt
@echo System:%computername%>>C:\Log-RAP.txt

Hinter jeder Zeile in allen Batch-Dateien egal welcher Befehl da steht habe ich ein: >>C:\Log-RAP.txt angehängt!

Nun zu meinem Problemen:

Bei den @echo s wird der Hinweis für den Benutzer nicht mehr angezeigt und bei den Befehlen werden die Ergebnisse nicht mit geschrieben! Ich verstehe nicht warum?

Gibt es keine Möglichkeit am Anfang der Batch einen Befehl zu geben den Inhalt zusätzlich in eine Log.txt zu schreiben oder was mache ich falsch?

Danke






Mitglied: Penny.Cilin
12.06.2013, aktualisiert um 09:52 Uhr
Zitat von zeroblue2005:
Nun möchte ich erreichen, dass Batch 1+2+3 eine Logdatei erzeugt auf C:\Log-rap.txt

Dafür habe ich am Anfang der ersten Batch folgendes geschrieben:

@echo Datum:%Date%>>C:\Log-RAP.txt
@echo Zeit:%Time%>>C:\Log-RAP.txt
@echo Use:%USERNAME%>>C:\Log-RAP.txt
@echo System:%computername%>>C:\Log-RAP.txt


Und was spricht dagegen, die entscheidenden Zeitlen einfach doppelt anzugeben. Einmal auf den Bildschirm und zum zweiten in die Logdatei?

01.
@echo Datum:%Date% 
02.
@echo Datum:%Date%>>C:\Log-RAP.txt 
03.
 
04.
@echo Zeit:%Time% 
05.
@echo Zeit:%Time%>>C:\Log-RAP.txt 
06.
 
07.
@echo Use:%USERNAME% 
08.
@echo Use:%USERNAME%>>C:\Log-RAP.txt 
09.
 
10.
@echo System:%computername% 
11.
@echo System:%computername%>>C:\Log-RAP.txt

Danke

Büdde schön


Gruss Penny.
Bitte warten ..
Mitglied: zeroblue2005
12.06.2013 um 09:58 Uhr
Ja so weit war ich auch schon Penny. Das ist auch nicht mein Hauptproblem, wenn das nicht anders geht lege ich die Zeilen auch doppelt an! Ich frage mich nur, warum einen simpelen Befehl wie:

Net Use X: \\192.168.5.2\RAP-Update /persistent:no>>C:\Log-RAP.txt

Dann nicht mit in die Log-Datei schreibt. Habe es versucht wie oben und auch so...aber entweder schreibt er die nicht oder führt die nicht aus!

Net Use X: \\192.168.5.2\RAP-Update /persistent:no >> C:\Log-RAP.txt
Bitte warten ..
Mitglied: Penny.Cilin
12.06.2013 um 10:20 Uhr
Zitat von zeroblue2005:
Ich frage mich nur, warum einen simpelen Befehl wie:

Net Use X: \\192.168.5.2\RAP-Update /persistent:no>>C:\Log-RAP.txt

Dann nicht mit in die Log-Datei schreibt. Habe es versucht wie oben und auch so...aber entweder schreibt er die nicht oder
führt die nicht aus!

Net Use X: \\192.168.5.2\RAP-Update /persistent:no >> C:\Log-RAP.txt

Hallo zeroblue2005,

diese Frage kann ich Dir leider nicht beantworten. Als Würgaround würde ich ein
Echo Net Use X: \\192.168.5.2\RAP-Update /persistent:no >> C:\Log-RAP.txt
vorher setzen.

Vielleicht hat jemand im Forum eine begründugn, warum die Ausgabe von Net Use nicht in eine Logdatei geschrieben werden kann.


Gruss Penny.
Bitte warten ..
Mitglied: zeroblue2005
12.06.2013 um 10:32 Uhr
Oh ich glaube ich sehe gerade warum!

Soll ich at(AT Zeichen wird hier nicht dargestellt) echo oder nur echo benutzen?
Bitte warten ..
Mitglied: Penny.Cilin
12.06.2013 um 10:52 Uhr
Zitat von zeroblue2005:
Oh ich glaube ich sehe gerade warum!
Und warum ist es so?

Soll ich at(AT Zeichen wird hier nicht dargestellt) echo oder nur echo benutzen?
Probiere doch beide Versionen und schau welche funktioniert oder die bessere Lösung ist.


Gruss Penny.
Bitte warten ..
Mitglied: pieh-ejdsch
21.06.2013 um 12:34 Uhr
moin,

weil es noch nicht Abgehakt von mir auch noch etwas:
Der Fehlerkanal sollte auch umgeleitet werden, wenn es sich um eine LOG Handelt.
Die anderen Handels können auch genutzt werden, wenn nur das Ergebnis in den LOG soll.
01.
 rem Startbatch 
02.
call D:\Batch1.cmd 3>>"D:\Log.txt" 2>>"D:\Log.txt" 
03.
call D:\Batch2.cmd 3>>"D:\Log.txt" 2>>"D:\Log.txt" 
04.
call D:\Batch3.cmd 3>>"D:\Log.txt" 2>>"D:\Log.txt" 
05.
pause
Somit Wird Handle 3 und die Fehlerausgabe ins LOG geschrieben.
Der Promt jedenfalls der Befehl ist dabei immer noch zu sehen.

Der Stapel1 sollte dann so ausehen.
01.
 rem D:\Batch1.cmd (Beispiel) 
02.
echo Zeit %time% 
03.
>&3 echo Zeit: %time% 
04.
>&3 Net Use X: \\192.168.5.2\RAP-Update /persistent:no
Als Alternative um eine Batch Zeilenweise Durchzugehen und diese so zu LOGgen:
01.
prompt $g$s 
02.
03.
for /f usebackqdelims^= %%i in ("D:\Batch1") do >&3 %%i 
04.
) 3>>"D:\Log.txt" 2>>"D:\Log.txt" 
05.
pause
Dazu muss aber ein Befehl nicht mehr als eine Zeile sein.

Gruß Phil
Bitte warten ..
Ähnliche Inhalte
Windows Server
Powershell - suche nach gelöschter Datei aus LOG (15)

Frage von krischeu zum Thema Windows Server ...

PHP
gelöst ZIP-Datei auf Server speichern (23)

Frage von Yanmai zum Thema PHP ...

Batch & Shell
gelöst Teile eines Dateinamens ändern mit Batch Datei (4)

Frage von fffffuuuuuuuhhhh zum Thema Batch & Shell ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Rechtliche Fragen
gelöst Geschäftsführer Email gefaked (18)

Frage von xbast1x zum Thema Rechtliche Fragen ...

Vmware
VMware ESX - Start einer VM verhindern (16)

Frage von emeriks zum Thema Vmware ...

Vmware
gelöst Update auf ESXI 6.5 Installieren (15)

Frage von zeroblue2005 zum Thema Vmware ...

iOS
IPhone wird ferngesteuert Hacker? (15)

Frage von Akcent zum Thema iOS ...