Top-Themen

Aktuelle Themen (A bis Z)

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

per batch Listen abgleichen

Frage Entwicklung Batch & Shell

Mitglied: didie08

didie08 (Level 1) - Jetzt verbinden

26.05.2008, aktualisiert 12:33 Uhr, 4472 Aufrufe, 2 Kommentare

Einträge in einer Liste in Abhängigkeit von anderen Listen erweitern.

Ich hoffe dass ich einigermaßen verständlich machen kann was ich tun will.

Also
Ich habe eine liste in der Usernamen und hostIDs aufgefürt sind. (user-rechner.txt)

hans rechner-05
klaus rechner-08
peter rechner-04
fritz rechner-07

Die Rechner in dieser Liste gehören zwei unterschiedlichen subdomains an.
Ich muss nun die Zeilen so erweitern das die jeweilge subdomain in der Zeile erscheint.
Dazu habe ich zwei listen in der die Rechner der jeweiligen subdomain aufgeführt sind.

Mein Idee ist hier mit for Schleifen meine user-rechner.txt Liste durchzugehen und mit "find" meine subdomain Listen zu durchsuchen.
Wird der Rechner in keiner der subdomain Listen gefunden soll das in einer Fehler Liste aufgeführt werden, oder besser noch es wird eine weitere batch gestartet, die ermittelt zu welcher Subdomain der Rechner gehöhrt.

Als Ergebniss sollte ich einen neue Liste user-rechner2.txt bekommen.

hans rechner-05 subdomain-1
klaus rechner-08 subdomain-2
peter rechner-04 subdomain-2
fritz rechner-07 subdomain-1


Meine bisherigen Bemühungen sehen so aus.


echo on
for /f "tokens=1,2 delims= " %%i in (user-rechner.txt) do (
find "%%j" subdomain-1.txt
if %errorlevel% == 0 echo %%i %%j subdomain-1 >>user-rechner2.txt
if %errorlevel% == 1 find "%%j" subdomain-2.txt
if %errorlevel% == 0 echo %%i %%j subdomain-2 >>user-rechner2.txt
if %errorlevel% == 1 echo %%j nicht gefunden >>fehler-liste.txt

)

pause



Leider funktioniert das mit den Errorleveln nicht so einfach wie ich mir das gedacht habe.
kann mir jemand weiterhelfen ?

Gruß

didie08
Mitglied: Biber
26.05.2008 um 08:49 Uhr
Moin didie08,

die Errorlevel-Prüfung geht in die Grütze, weil Du sie bezogen auf die Variable %ErrorLevel% ausführst... und der Wert dieser Variablen wird von der CMD.exe ein einziges Mal ermittelt - wenn die FOR/F-Anweisung gelesen wird. Die Zeile hört zwa optisch erst 6 Zeilen tiefer auf, aber ist für die CMD.exe dennoch eine Anweisung.

Du kannst es z.B. so umgehen.
01.
for /f "tokens=1,2 delims= " %%i in (user-rechner.txt) do ( 
02.
find "%%j" subdomain-1.txt 
03.
if errorlevel 1  (  
04.
   find "%%j" subdomain-2.txt 
05.
   IF errorlevel 1 ( 
06.
      echo %%j nicht gefunden >>fehler-liste.txt 
07.
   ) ELSE ( 
08.
      echo %%i %%j subdomain-2 >>user-rechner2.txt 
09.
10.
           ) ELSE ( 
11.
    echo %%i %%j subdomain-1 >>user-rechner2.txt 
12.
13.
)
[ungetestet, wie hier im Board üblich]

Und Du solltest immer den höheren ErrorLevel-Wert zuerst prüfen.
Denn "ErrorLevel 0" ist auch WAHR, wenn Errorlevel Größer 0 ist.

Grüße
Biber
Bitte warten ..
Mitglied: didie08
26.05.2008 um 12:33 Uhr
Hallo Biber

Vielen Dank für deine Hilfe. Es hat auf Anhieb funktioniert.

Gruß
didie08
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Abgleich Dateiname zu Verzeichisname mittels Batch
gelöst Frage von rodgerwilcoBatch & Shell3 Kommentare

Hallo zusammen, ich tue mich mit dem Schreiben einer Batch-Datei mal wieder etwas schwer. Daher wäre ich für eure ...

Batch & Shell
TODO List in ( Batch )
gelöst Frage von clragonBatch & Shell2 Kommentare

Hallo Liebe Forum-Nutzer Ich habe heute versucht, mir eine Batch zu schreiben die Notizen anzeigt, aka eine Todo Liste ...

Batch & Shell
Batch - Listen filtern
gelöst Frage von migrubiBatch & Shell2 Kommentare

hallo, ich suche mich noch wuschig. ich habe eine liste mit emails meiner freunde und möchte einen newsletter verschicken, ...

Batch & Shell
Batch: Einmaliges Kopieren mit Robocopy und Log abgleich
gelöst Frage von RotbartBatch & Shell35 Kommentare

Ich bin gerade dabei eine Batchdatei zu erweitern, was aber scheinbar nicht so einfach ist wie gedacht. Es geht ...

Neue Wissensbeiträge
Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 2 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 3 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Sicherheit

Teamviewer Sessions können gekapert werden - Update tw. verfügbar

Information von sabines vor 4 TagenSicherheit6 Kommentare

In bestimmten Konstellationen können Teamviewer Sessions gekapert werden, wahrscheinlich aber ein recht unwahrscheinliches Szenario. Da der Teamviewer gerne für ...

Digitiales Fernsehen

Apple TV: Amazon Prime App ist verfügbar

Information von Frank vor 4 TagenDigitiales Fernsehen4 Kommentare

Die Amazon Prime Video App kann ab sofort auf einem Apple TV ab der 3 Generation installiert werden. Einfach ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Windows Server
Server 2012 über Eingabeaufforderung devmgmt.msc geht nicht
gelöst Frage von achim222Windows Server9 Kommentare

Hallo, ich habe hier einen Server 2012 der im Reparaturmodus startet. Es liegt an einem falschen VirtIO Treiber für ...