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 Problem bzw. Frage zum Abfangen einer Ausgabe mit FOR

Mitglied: miniversum

miniversum (Level 3) - Jetzt verbinden

07.03.2008, aktualisiert 17:16 Uhr, 4410 Aufrufe, 2 Kommentare

Hallo
Ich hab hier eine Frage die mcih grade beschäftigt.

Normalerweise kann man ja, wenn man die Ausgabe eines Befehls in Variabeln speichern will entweder diese Ausgabe in eine datei schreibven lassen und diese Datei auslesen oder direkt, also ohne temponäre Datei, die Ausgabe des Befehls abfangen.
Bsp1:
dir /b>Datei.txt
FOR /F "tokens=1 delims=" %%i in ('type Datei.txt') do set "LetzteDatei=%%i"
echo [LetzteDatei]
Bsp2:
FOR /F "tokens=1 delims=" %%i in ('dir /b') do set "LetzteDatei=%%i"
echo [LetzteDatei]
Bsp1 und Bsp2 würden das gleiche Ergebnis bringen, nur das Bsp2 ohne temponäre Datei auskommt.

Scheinbar funktioniert dies aber nicht immer. Anders kann ich mir jedenfalls folgendes Verhalten nicht erklären.
Batch1:
@echo off & setlocal
FOR /F "skip=1 tokens=24,26,47,48 delims= " %%i in ('wmic os') do set "InstallDate=%%i" & set "LastBootUpTime=%%j" & set "RegisteredUser=%%k" & set "SerialNumber=%%l"
echo [%InstallDate%] [%LastBootUpTime%] [%RegisteredUser%] [%SerialNumber%]
Funktioniert nicht! Die ausgelesenen Werte sind falsch und blödsinn.

Batch2:
@echo off & setlocal
wmic os get InstallDate,LastBootUpTime,RegisteredUser,SerialNumber>Datei.txt
FOR /F "skip=1 tokens=1,2,3,4 delims= " %%i in ('type Datei.txt') do set "InstallDate=%%i" & set "LastBootUpTime=%%j" & set "RegisteredUser=%%k" & set "SerialNumber=%%l"
del Datei.txt
echo [%InstallDate%] [%LastBootUpTime%] [%RegisteredUser%] [%SerialNumber%]
Funktioniert! Ergebniss ist auch das gewünschte.

Batch3:
@echo off & setlocal
FOR /F "skip=1 tokens=1,2,3,4 delims= " %%i in ('wmic os get InstallDate,LastBootUpTime,RegisteredUser,SerialNumber') do set "InstallDate=%%i" & set "LastBootUpTime=%%j" & set "RegisteredUser=%%k" & set "SerialNumber=%%l"
echo [%InstallDate%] [%LastBootUpTime%] [%RegisteredUser%] [%SerialNumber%]
Funktioniert nicht! Aber warum? Kann mir jemand erklären warum es so nciht funktioniert?

miniversum
Mitglied: Biber
07.03.2008 um 16:50 Uhr
Moin miniversum,

in der dritten Abfrage machen die Kommas in der WMIC-Abfrage die Probleme.

Wenn Du entweder jedes Komma mit einem "^" maskierst ...
- ODER -
aber die in einfachen Anführungszeichen stehende WMIC-Abfrage zusätzlich in doppelte Anfü-zeichen packst, dann geht es.

01.
FOR /F "skip=1 tokens=1-3,*" %i in ('"wmic os get InstallDate,LastBootUpTime,SerialNumber,RegisteredUser"') do @echo [%i] [%j] [%k] [%l] 
02.
-oder- 
03.
FOR /F "skip=1 tokens=1-3,*" %i in ('wmic os get InstallDate^,LastBootUpTime^,SerialNumber^,RegisteredUser') do @echo [%i] [%j] [%k] [%l]
Die erste Abfrage habe ich mir nicht weiter angeschaut, aber vermutlich, nein sicher macht die Anzahl der Paramter Probleme.
Wie hatten das schonmal in einem beitrag hier im Forum bei einer CSV-Datei mit x Werten.
Dabei stellt sich dann raus, dass die Tokens in einer For-Anweisung nur von 1 bis (??)..bis 31 oder so gültig sind.

Quicktest:
01.
(=16:47:02  D:\temp=) 
02.
>for /f "tokens=30,31" %a in ("1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6") do @echo %a %b 
03.
u v 
04.
 
05.
(=16:47:08  D:\temp=) 
06.
>for /f "tokens=30,32" %a in ("1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6") do @echo %a %b 
07.
u %b
Der untere Fall offenbart das Elend... Token 31 kann noch, token 32 nicht mehr direkt angesprochen werden.

Dazu musst zwei ineinander geschraubte FOR-Anweisungen machen mit "tokens=1-30,*" und den Rest "*" in einer nachgeschalteten FOR /F-Anweisung abfackeln.

Grüße und schönes Wochenende
Biber
Bitte warten ..
Mitglied: miniversum
07.03.2008 um 17:16 Uhr
Danke.
Das mit den zu vielen token dachte ich mir. Aber das mit den Kommas war mir neu.
Dann ist das ja erledigt.
Bitte warten ..
Ähnliche Inhalte
Visual Studio
Tastatureingaben abfangen
gelöst Frage von joehuabaVisual Studio7 Kommentare

Hallo Zusammen, ich hab folgendes Problem: Ich fange mit einem Programm bestimmte Tastenkombinationen ab. Das funktioniert auch soweit. Allerdings ...

Visual Studio

VB.Net - Problem mit Umleitung der Standard-Ausgabe

gelöst Frage von emeriksVisual Studio4 Kommentare

Hi, habe eine Consolen-Anwendung in VB.Net, welche nichts anderes tut, als in der Console "Hallo Welt!" auszugeben. Habe weiterhin ...

Viren und Trojaner

Ransomware abfangen . Diskusion

gelöst Frage von schicksalViren und Trojaner8 Kommentare

Hallo miteinander. Ich grüble gerade mit dem Erpressertrojaner Problem. Ich bin zwar Programmiermäßig ein DAU aber trotzdem. Deshalb: Ist ...

Netzwerke

Netzwerktraffic von Gerät abfangen

gelöst Frage von Sparx82Netzwerke11 Kommentare

Hallo zusammen Ich habe bei mir folgende Netzwerkkonfiguration (nur ein Auszug der relevanten Geräte): Die Fritzbox ist der Zugang ...

Neue Wissensbeiträge
Windows 10

Blackscreen nach dem Update von 1809 auf 1809 wenn der Rechner aus dem Standby gestartet wird

Tipp von FSX2010 vor 1 TagWindows 108 Kommentare

Habt ihr den Samsung Treiber "Samsung_NVM_Express_Driver_3.0" installiert sollte dieser für 1809 deinstalliert werden da dieser nicht kompatibel ist. Der ...

Utilities
Teamviewer 14 Verbindungsprobleme mit Proxy
Tipp von PeterleB vor 2 TagenUtilities

Nach dem Umstieg von Version 13 auf 14 wollte sich TV nicht mehr mit dem Netz verbinden, ignorierte offenbar ...

Administrator.de Feedback
Unsere Datenbank wurde umgestellt
Information von Frank vor 2 TagenAdministrator.de Feedback5 Kommentare

Hallo User, ich habe in der Nacht unsere Datenbank umgestellt. D.h. neue Version (MySQL 8) und andere Örtlichkeit. Sollte ...

Sonstige Systeme
Es war einmal ein BeOS - Wer erinnert sich noch?
Information von BassFishFox vor 5 TagenSonstige Systeme8 Kommentare

Hallo, Bin gerade ueber Haiku gestolpert, von dessen Existenz als "Nachfolger des BeOS" ich wusste nur mich nie wirklich ...

Heiß diskutierte Inhalte
Router & Routing
Dediziertes ISP -Routing
gelöst Frage von niLuxxRouter & Routing13 Kommentare

Liebe Community, Ich hätte eine kurze Frage an euch. Durch verschiedene Umstände kann es nun sein, dass sich zwei ...

Webbrowser
Proxy-Zugangsdaten in Firefox hinterlegen
Frage von SebastianGSWebbrowser12 Kommentare

Hallo zusammen, kennt jemand von Euch aktuell eine Möglichkeit die Proxy-Zugangsdaten im Firefox (Vers. 63.0.3 - 64-Bit) zu hinterlegen, ...

Monitoring
WMI Problem bei PRTG
Frage von justInsaneMonitoring12 Kommentare

Hallo zusammen, ich bin zur Zeit dabei, das PRTG Monitoring Tool auszutesten. Ich habe das ganze nun grob konfiguriert ...

Samba
Linux Server und Windows Linux Client
gelöst Frage von 137898Samba12 Kommentare

Hallo, ich bräuchte dringend bei der Aufgabe etwas Hilfe. Die Firma XYZ besteht auf zwei Abteilungen Logistik und Technik ...