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
GELÖST

Auslesen einer txt-Datei mit Verarbeitung in Batch (cmd)

Frage Entwicklung Batch & Shell

Mitglied: sunshine1907

sunshine1907 (Level 1) - Jetzt verbinden

22.08.2012 um 10:21 Uhr, 3060 Aufrufe, 4 Kommentare

Hallo zusammen.

Ich bin neu hier und habe schon öfter dieses Forum als Hilfe benutzt.
Nur leider finde ich keine Antwort (oder bin zu blind es zu finden) auf folgende Frage.

Ich habe eine txt-Datei mit als Beispiel 50 Pcs
Diese Txt-Datei (NetworkPC.txt) enthält einfach nur Einträge wie:

PCname1
PCname2
PCname3
...
...
PCname50

usw..

Nun möchte ich aber mit einem BatchJob folgende Möglichkeit erstellen.
Von jedem der PCs soll nach Aufruf der Batchdatei ein Snapshot gemacht werden, der dann per Psexec gestartet wird. Den Job per Psexec habe ich bisher auch einwandfrei am laufen, das ist nicht das Problem. Nur bisher habe ich in einer Batchdatei für JEDEN einzelnen PC diese Befehlsfolge.
Nur ist es echt lästig Änderungen an den PCs (wenn einer dazu kommt oder einer wegfällt) in dieser Batchdatei zu ändern.
Sinnvoller und besser, bzw. prof. wäre es, wenn ich alle PCs einfach in dieser txt-Datei verwalte und mit einem Batchbefehl for /f ......... die Textdatei auslese und demnach jeweils PC für PC abgearbeitet wird.

Wie muss der Befehl genau heißen ??

Ich danke vielmals über jede Antwort.

Mitglied: bastla
22.08.2012 um 11:13 Uhr
Hallo sunshine1907 und willkommen im Forum!

Im Tutorial zur FOR-Schleife erfährst Du alles, was Du für Dein Vorhaben brauchst (und eine Menge mehr ) ...

Grüße
bastla
Bitte warten ..
Mitglied: sunshine1907
23.08.2012, aktualisiert 26.08.2012
Hallo zusammen,

danke erstmal für die Antwort. Habe mich auch soweit durchgekämpft. Klappt soweit nun auch wie gewünscht.
Ich habe jedoch noch folgendes Problem, was ich definitiv nicht hinbekomme, jedoch gerne mit eurer Hilfe lösen möchte.
In dem Script holt er sich aus der Textdatei den jeweiligen PC und arbeitet ihn ab, in diesem Fall nun ein xcopy.
Jedoch möchte ich noch die Option einbauen, dass wenn ein PC offline sein sollte direkt zum nächsten gesprungen wird und der Offline-PC entsprechend im Log auftaucht, damit man den oder die Offline-PC nachträglich abarbeiten kann, jedoch z.B. die anderen 80PCs ihren copy-Befehl mitgemacht haben.

Im Script weiß ich nicht wie ich das behandeln soll, dass bei einem Error = keine Antwort = PC offline sofort der nächste in Angriff genommen wird, anstatt gleich das ganze Script abzubrechen.
01.
@echo off 
02.
for /f %%i in (%temp%\computerlist.txt) do (  
03.
	echo %%i >>%temp%\copylog.txt 
04.
	Ping %%1 -n 2 | find "Reply" >>%temp%\copylog.txt 
05.
	if %errorlevel%==1 ????????? 
06.
	xcopy /y "%source1%" "\\%%i\%destin%" >>%temp%\copylog.txt 
07.
     	 
08.
)
[Edit Biber] Codeformatierung und grünes Häkchen nachgetragen 26.08.2012. [/Edit]
Bitte warten ..
Mitglied: bastla
23.08.2012 um 11:03 Uhr
Hallo shunshine1907!

Darf ich Dir für das Posten von "Code" die passende Formatierung (lässt sich auch nachträglich hinzufügen ) nahelegen?
Die einfachste Möglichkeit, einen Errorlevel nur hinsichtlich "0" / "nicht 0" auszuwerten, ist die Verwendung von "&&" bzw "||" - etwa so:
01.
@echo off & setlocal 
02.
for /f %%i in (%temp%\computerlist.txt) do ( 
03.
    echo %%i >>%temp%\copylog.txt 
04.
    Ping %%1 -n 2 | find "Reply">nul && ( 
05.
        xcopy /y "%source1%" "\\%%i\%destin%" >>%temp%\copylog.txt 
06.
    ) || ( 
07.
        echo %%i >>%temp%\offline.txt 
08.
09.
)
Grüße
bastla
Bitte warten ..
Mitglied: sunshine1907
24.08.2012 um 06:03 Uhr
@bastla.

Was soll ich sagen: PERFEKT!!. Vielen Dank. Klappt alles wunderbar, so wollte ich es haben.
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (23)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Mac OS X
Mac kann nicht im LAN pingen alle anderen schon (19)

Frage von smartino zum Thema Mac OS X ...

Hardware
gelöst PCI-Express-Adapterfrage (14)

Frage von DerWoWusste zum Thema Hardware ...

Linux Netzwerk
DHCP IP-vergabe erst nach 1-2 Minuten (11)

Frage von Maik82 zum Thema Linux Netzwerk ...