Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Zwei TXT Datei vergleichen und zusammen eine Liste erstellen

Frage Entwicklung Batch & Shell

Mitglied: 103148

103148 (Level 1)

19.03.2014 um 17:00 Uhr, 1126 Aufrufe, 3 Kommentare, 1 Danke

Hallo,

ich erstelle zwei Dateien, eine jede Abend mit dem Inhalt

online.txt

HOST PC001 ist online
HOST PC023 ist online

usw

Damit prüfe ich welcher PC Abends noch an ist, das können 10 oder auch 60 sein....

Nun möchte ich wissen, wer zuletzt an diesem Rechner gearbeitet hat, dafür erstelle ich beim Anmelden eine Liste, somit erkenne ich, welcher User an welchem PC sitzt.

mit echo %computername%_%username% >> \\server\pc2user\user.txt im Anmeldescript, läuft sehr gut.

user.txt

PC001_max
PC234_tom
PC403_fred

Jetzt möchte ich die Datei nutzen um die User in der Datei online.txt zu ergänzen, aber sie muss von "unten" gelesen da dort die aktuellen User sind.

Damit kann ich den User direkt ansprechen und ihn bitten den Rechner abends auszuschalten.
Mitglied: bastla
19.03.2014, aktualisiert um 17:17 Uhr
Hallo angebissener-apfel!

Das Ergänzen der "online.txt" (so schön finde ich deren Format nicht ) würde ich durch das Erstellen einer neuen Liste ("D:\usersonline.txt") ersetzen und das dann so versuchen:
01.
@echo off & setlocal 
02.
set "onl=D:\online.txt" 
03.
set "usr=D:\user.txt" 
04.
set "lst=D:\usersonline.txt" 
05.
 
06.
del "%lst%" 2>nul 
07.
for /f "usebackq tokens=2" %%o in ("%onl%") do ( 
08.
    for /f "tokens=2 delims=_" %%u in ('findstr /ib "%%o_" "%usr%"') do >>"%lst%" echo %%o:%%u 
09.
10.
type "%lst%" 2>nul 
11.
pause
Falls Dein
muss von "unten" gelesen
bedeutet, dass es mehrere Einträge für zB "PC001" geben kann und der letzte davon verwendet werden soll, dann eher so:
01.
@echo off & setlocal 
02.
set "onl=online.txt" 
03.
set "usr=user.txt" 
04.
set "lst=useronline.txt" 
05.
 
06.
del "%lst%" 2>nul 
07.
for /f "usebackq tokens=2" %%o in ("%onl%") do ( 
08.
    set "name=" 
09.
    for /f "tokens=2 delims=_" %%u in ('findstr /ib "%%o_" "%usr%"') do set "name=%%u" 
10.
    setlocal enabledelayedexpansion 
11.
    if defined name >>"%lst%" echo %%o_!name! 
12.
    endlocal 
13.
14.
type "%lst%" 2>nul 
15.
pause
Grüße
bastla
Bitte warten ..
Mitglied: 103148
19.03.2014, aktualisiert um 20:43 Uhr
Hallo Bastla,

ja, in der Datei user.txt werden täglich ca. 180 Einträge ergänzt. So kann es vorkommen, dass ein User vorher mal an einem anderen Rechner gearbeitet hat. Deshalb möchte ich wissen wer zuletzt am Rechner z.b PC047 gearbeitet hat, der sollte dann auch den Rechner ausschalten.
Wird ein Wert gefunden, sollte ja gefunden werden da das Anmeldescript ihn rausgibt, kann der User in der Online Liste ergänzt werden.
Machen sie aber nicht....

Die pc´s können von PC001 bis PC600 sein und wie das so ist können die User wechseln und es sind nicht immer alle an, oder auch veraltet und verschrottet. Die Liste schreibe ich seit 2 Jahren und kann erkennen wo der User vorher mal gearbeitet hat.

Im Supportfall muss ich wissen an welchen PC der User sitzt, somit gucke ich in die Liste.

SORRY....

ähm...

ich schreibe noch mehr in die user.txt....

also

%computername%_%username%_%date%_%time%

somit können die Werte date & time vernachlässigt werden

also nur der Wert der hinter %computername%.... ( sorry )


Ich teste morgen und berichte...

Danke vorab
Bitte warten ..
Mitglied: 103148
20.03.2014 um 07:53 Uhr
perfekt!

und vielen Dank
Bitte warten ..
Ähnliche Inhalte
Entwicklung
gelöst Zwei .txt Dateien via PowerShell zusammenfügen (2)

Frage von Alex1809 zum Thema Entwicklung ...

Batch & Shell
gelöst Zwei PDF-Dateien zusammen führen per Batch (3)

Frage von hongziehong zum Thema Batch & Shell ...

Batch & Shell
Vergleich einer Zeichenfolge in zwei Dateinamen (3)

Frage von hongziehong zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateien auf der Basis einer Liste löschen (2)

Frage von symei3 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(8)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Datenschutz

Gefährdeter Datenschutz: Firefox löscht lokale Datenbanken nicht

Information von BassFishFox zum Thema Datenschutz ...

Firewall

PfSense OpenVPN beschleunigen

Tipp von Dobby zum Thema Firewall ...

Utilities

CCleaner 5.33 mit Malware infiziert

(27)

Information von SeaStorm zum Thema Utilities ...

Heiß diskutierte Inhalte
Utilities
CCleaner 5.33 mit Malware infiziert (27)

Information von SeaStorm zum Thema Utilities ...

Festplatten, SSD, Raid
gelöst Problem mit DELL 815R Server und Windows Bluescreen (24)

Frage von Leo-le zum Thema Festplatten, SSD, Raid ...

Windows Systemdateien
Windows bootet nicht mehr Fehlermeldung 0xc0000098 (19)

Frage von franzgoerlich zum Thema Windows Systemdateien ...

Windows Netzwerk
Dateien mit Intelligenz per GPO ins Programmverzeichnis (14)

Frage von erwin.t zum Thema Windows Netzwerk ...