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

Batch Programmausgabe mit Umbruchin Variable

Frage Microsoft Windows XP

Mitglied: rsadmchef

rsadmchef (Level 1) - Jetzt verbinden

17.09.2012 um 08:25 Uhr, 2813 Aufrufe, 4 Kommentare

Hallo Team

Habe ein Win XP.
Es soll eine Programmausgabe abgespeichert werden.

Der Batch Code

for /f %%i in ('Programm') do set string=%%i

ist wohl hinlänglich für eine definierte Variablenspeicherung der Ausgabe eines Progrsmms bekannt.
Die Ausgabe bei meinem Programm ist 7.5869 an der Console, 1 Zeile unterhalb der Zeile Programmaufruf.

Ein

echo %string%

zeigt mit genau garnix.
Was ist zu tun, daß die Variable string den wert 7.5869 führt ?

Vlt. ein Filter der die Zeilenumbrüche wegfiltert o.ä. ?

Gruß rsadmchef
Mitglied: miniversum
17.09.2012 um 10:09 Uhr
Hallo.

Möglichkeit 1:
Kommt nach der Ausgabezeile eine Zeile mit Zeilenumbruch? Denn in der Variabeln steht nur die letzte Zeile der Ausgabe.
Dann versuch mal so:
01.
set "string=" 
02.
for /f %%i in ('Programm') do if not defined string set string=%%i
Möglichkeit 2:
Ist das Kommandozteilenprogramm in Java geschrieben oder kann es sein das die Ausgabe nicth auf dem Standardausgang kommt?
Dann mal das versuchen:
01.
for /f %%i in ('Programm 2>&1') do set string=%%i
miniversum
Bitte warten ..
Mitglied: rsadmchef
21.09.2012 um 05:32 Uhr
prima miniversum
Möglichkeit 2 wars. Die Umleitung auf Standardausgabe ward er Klemmer.
Danke.
Gruß rsadmchef
Bitte warten ..
Mitglied: rsadmchef
08.05.2016 um 18:49 Uhr
Es gibt noch ein Problem:

"2>&1" ist syntaktisch an dieser Stelle nicht verarbeitbar...

Kommt nach Aufruf.
Bitte warten ..
Mitglied: Biber
09.05.2016, aktualisiert um 10:18 Uhr
Moin rsadmchef,


Zitat von rsadmchef:

Es gibt noch ein Problem:

"2>&1" ist syntaktisch an dieser Stelle nicht verarbeitbar...

Kommt nach Aufruf.
Und weil es erst nach Aufruf auftritt, hast du es nach dreieinhalb Jahren gemerkt?
Sach ma', sucht ihr eigentlich noch Verstärkung? Ich hätte noch einen meiner nichtsnutzigen Neffen unterzubringen...

Da diese Fehlermeldung sich vermutlich auf die zweite Lösungsvariante miniversums bezieht, also diese
01.
for /f %%i in ('Programm 2>&1') do set string=%%i
-> Maskiere die Zeichen, die im Batch eine spezieille Bedeutung haben und falsch interpretiert werden, könnten mit einem Caret (^).
01.
for /f %%i in ('Programm ^2^>^&^1') do set "string=%%i"
Damit werden alle Zeichen, denen ein Caret vorangestellt ist, als Literal, also als Zeichen ohne jegliche Steuerzeichenbedeutung behandelt.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Grosses Variablen Problem ( Batch) (30)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst FOR Loop Variablen ( Batch ) (2)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst Laufwerksbezeichnung (label) in Batch als Variable nutzen (21)

Frage von tobias.mock zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Variable setzten mit Leerzeichen (3)

Frage von Marlon1 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
CNC Maschinen verlieren Netzwerkverbindung (kurioser Fehler) (22)

Frage von NoHopeNoFear zum Thema LAN, WAN, Wireless ...

Webentwicklung
Aktuellen Mitarbeiter auf Homepage anzeigen (13)

Frage von alemanne21 zum Thema Webentwicklung ...

Windows Server
gelöst Parameter Übergabe Terminal Server (9)

Frage von ThomasKern zum Thema Windows Server ...

Batch & Shell
Anfängerfragen - Powershell - Mailboxvertretung im Pulk einrichten (8)

Frage von Yoshimitsu zum Thema Batch & Shell ...