Betriebssystem: Windows 7, Windows 8, Windows 8.1
Über die Windows-Befehlszeile kann ich die Anmeldezeit des aktuellen Benutzers mit dem quser
Befehl anzeigen . Dies führt zu einer höheren Ausgabe, als ich es mir wünsche. Daher hoffe ich , nur die Anmeldezeit und das Anmeldedatum zu verwenden for
skip
und tokens
zu erhalten.
Als Beispiel
c:\quser.exe
--------------------------
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME
GenericUser console 1 Active 1:22 03/11/2015 1:45 PM
Mit for
kann ich dies etwas verkürzen, aber es nimmt den Abstand zwischen Datum und Uhrzeit als Begrenzer und gibt mir daher nur das Datum:
c:\for /f "skip=1 tokens=6" %a in ('quser') do echo %a
--------------------------
03/11/2015
Beachten Sie, dass die Ausgabe die "1:45 PM" fehlt. Es ist zu beachten, dass ich nicht mehrere Token angeben kann, da es nur 6 Header gibt, sodass ich kein 7. Token aus der zweiten Zeile erhalten kann. Wie kann ich dies ändern, um sowohl die Uhrzeit als auch das Datum zu erfassen?
* Mach dir keine Sorgen um die Berechnung des Datumsunterschieds, da ich das in VBScript erledigen werde, sobald ich es richtig sammeln kann.
Danke im Voraus, Beems
@echo %a
stattdessen getan habe@echo %b
. Kannst du mir diesen Unterschied erklären? Vielen Dank! Beems.for
Variablen sind implizit durch cmd erstellt, ausgehend von zunächst angeben, so dass in diesem Fall%a
5 bis Token bezeichnet (die letzte Token vor , was Sie interessiert) und%b
zu Rest der Zeile (abzüglich alle führenden Leerzeichen)