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

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, 1111 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst 2 große TXT Dateien vergleichen und Unterschiede in andere Datei schreiben (6)

Frage von sid.pdm zum Thema Batch & Shell ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Webentwicklung
gelöst HTML Output in eine txt Datei mit VisualBasicScript (2)

Frage von coca22COCA zum Thema Webentwicklung ...

Batch & Shell
Merkwürdige Zeilenformatierung in txt Datei (3)

Frage von miczar zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...