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

Mitglied: didie08

didie08 (Level 1) - Jetzt verbinden

26.05.2008, aktualisiert 12:33 Uhr, 4481 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
Registrierungtyp abgleichen per Batch
gelöst Frage von kampenBatch & Shell30 Kommentare

Hallo, ich benötige wieder einmal eure Unterstützung! Das nachfolgende Script soll erst ausgeführt werden wenn der Registrierungswert "2017" vorhanden ...

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, ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 2 TagenWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 2 TagenAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 3 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 3 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Router & Routing
Router auf Orginal Firmware zurück flashen mit Tftpd
Frage von ILeonardRouter & Routing21 Kommentare

Hallo, Ich habe zwei Router, einmal TP-Link 841n v11 und TP-Link 940N v5. Ich wollte fragen, ob jemand mir ...

Router & Routing
WRT keine Verbindung zum Web Interface
gelöst Frage von ILeonardRouter & Routing18 Kommentare

Hallo, Ich habe einen TP-Link WR841n mit wrt geflasht, das Problem ist ich kann mich mit 192.168.1.1 nicht verbinden. ...

Windows Server
Standortvernetzung zu einem Strato VServer (Windows)
Frage von matzefratze81Windows Server10 Kommentare

Moin, ich komme aus einem Enterprise-Umfeld und habe den Fehler gemacht, dass ich mich auf ein kleines Unternehmen eingelassen ...

TK-Netze & Geräte
Telefonie zweier Fritzboxen mit je eigenem DSL Anschluss verbinden
Frage von hannsgmaulwurfTK-Netze & Geräte10 Kommentare

Hallo zusammen, ich habe hier einen Haushalt mit zwei Anschlüssen. Einmal ISDN, einmal DSL. An jedem Anschluss hängt eine ...