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 FOR Schleife Befehlsausgabe als Variable setzen, Problem mit Space im Verzeichnis

Mitglied: Kriegstreiber

Kriegstreiber (Level 1) - Jetzt verbinden

16.06.2019, aktualisiert 17:37 Uhr, 395 Aufrufe, 11 Kommentare, 2 Danke

Ich möchte gerne folgendes machen. Einen Befehl ausführen und die Ausgabe als Variable setzen.

Der Befehl lautet:

"%FFPROBE%" -v error -select_streams v:0 -show_entries stream=height,width -of csv=s=x:p=0 "%INPUTFILE%"

Wenn ich den so in der Batch stehen habe, bekomme ich als Ausgabe : 1920x1080

Diese Ausgabe hätte ich gerne als Variable RESOLUTION

Meine for Schleife sieht so aus:

01.
set RESOLUTION=Unknown
02.
set FFPROBE=C:\Mein Test\FFPROBE.exe
03.
setlocal EnableDelayedExpansion
04.
FOR /F "tokens=*" %%A IN ('"%FFPROBE%" -v error -select_streams v:0 -show_entries stream=height,width -of csv=s=x:p=0 "%INPUTFILE%"') DO (
05.
	SET RESOLUTION=%%A
06.
	echo !RESOLUTION!
07.
)
08.
echo Resolution = !RESOLUTION!
Das Ergebnis:

Der Befehl "E:\MEIN" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

Obwohl das Verzeichnis in den Gänsefüsschen ist und der Befehl alleine funktioniert, warum tut er das in der for Schleife nicht?
Mitglied: BassFishFox
16.06.2019 um 18:24 Uhr
Hi,

Pfade die ein Leerzeichen enthalten musst Du in "" unterbringen.

BFF
Bitte warten ..
Mitglied: Kriegstreiber
16.06.2019 um 19:36 Uhr
"%FFPROBE%"

Ist doch ;)
Bitte warten ..
Mitglied: Pjordorf
16.06.2019 um 21:10 Uhr
Hallo,

Zitat von Kriegstreiber:
"%FFPROBE%"
Eben nicht. Schau dir mal deine Zeile 2 an. Schau dir das Ergebniss an:
01.
set FFPROBE=C:\Mein Test\FFPROBE.exe
02.
Set FFProbe
und dann
01.
set FFPROBE="C:\Mein Test\FFPROBE.exe"
02.
Set FFProbe
und dann noch
01.
set "FFPROBE=C:\Mein Test\FFPROBE.exe"
02.
Set FFProbe


Das ist nicht was du meinst was gemeint war.

Gruß,
Peter
Bitte warten ..
Mitglied: BassFishFox
16.06.2019 um 21:45 Uhr
Exakt.

Da schreibt man schon extra "Pfade" und nicht "Variablen". ;)

Egal.

Schoene Woche!

BFF
Bitte warten ..
Mitglied: Pjordorf
16.06.2019 um 22:21 Uhr
Hallo,

Zitat von BassFishFox:
Da schreibt man schon extra "Pfade" und nicht "Variablen". ;)
Und seine Antwort hast du doch gesehen. Bei vielen darfst du heute nicht mehr kleingeschnibbelte Kartoffeln schreiben wenn du über ein Pommesrezept redest, weil es dann Kartoffelsalat gibt

Gruß,
Peter
Bitte warten ..
Mitglied: Kriegstreiber
16.06.2019, aktualisiert um 23:02 Uhr
Das funktioniert trotzdem nicht, auch wenn ich die Variable und nicht nur den Pfad ins Gänsefüsschen setze.

01.
set "FFPROBE=%~dp0ffprobe.exe" geht nicht in der Schleife (ausserhalb ja)
02.
set FFPROBE="%~dp0ffprobe.exe" geht nicht in der Schleife (ausserhalb ja)
03.
set FFPROBE=%~dp0ffprobe.exe geht nicht in der Schleife (ausserhalb ja)
Egal wie ich es mache, die Befehlszeile stimmt immer, nur das Output nicht.

MIt "Echo On" wird der Befehl so ausgeführt, wie ich das will:

01.
E:\Video\Test>FOR /F "tokens=*" %A IN ('"C:\Mein Test\FFPROBE.exe" -v error -select_streams v:0 -show_entries stream height width -of csv s x:p 0 "E:\Video\Test\Test.mkv"') DO (set RESOLUTION=%A )
02.

03.
Der Befehl "C:\Mein" ist entweder falsch geschrieben oder
04.
konnte nicht gefunden werden.
Das passiert auch nur IN DER Schleife, setze ich den Befehl so in die Batch:

01.
"%FFPROBE%" -v error -select_streams v:0 -show_entries stream=height,width -of csv=s=x:p=0 "%INPUTFILE%"
funktioniert er. Auch ohne " in der Schleife geht es nicht, ich habe so ziemlich jede Kombination jetzt durch :D.
Bitte warten ..
Mitglied: rubberman
LÖSUNG 17.06.2019 um 08:09 Uhr
Setze mal ein CALL vor "C:\Mein Test\FFPROBE.exe".

Steffen
Bitte warten ..
Mitglied: 139920
17.06.2019, aktualisiert um 16:48 Uhr
Das liegt einerseits an den fehlenden Gänsefüßchen wie schon erwähnt und andererseits fehlen noch ein paar Escapes für die Nutzung im For-Befehl (Für das "=" und das ","), so läuft es ...
01.
@echo off &setocal
02.
set "RESOLUTION=Unknown"
03.
set "FFPROBE=C:\Mein Test\FFPROBE.exe"
04.
set "INPUTFILE=C:\Dateien\file.mp4"
05.
FOR /F "delims=" %%A IN ('"%FFPROBE%" -v error -select_streams v:0 -show_entries stream^=height^,width -of csv^=s^=x:p^=0 "%INPUTFILE%"') DO SET "RESOLUTION=%%A"
06.
echo Resolution = %RESOLUTION%
Bitte warten ..
Mitglied: Kriegstreiber
17.06.2019 um 21:48 Uhr
Die Escapes haben tatsächlich etwas genützt, leider ist das Problem mit dem Space im Verzeichnis Namen immer noch da.
Gegenprobe mit umbenennung in Mein_Test waren erfolgreich, Mein Test allerdings will immer noch nicht.

Ich kann auch in der Schleife "%FFPROBE%" durch "C:\Mein Test\FFPROBE.exe" ersetzen, trotzdem skippt er nach C:\Mein.

01.
FOR /F "delims=" %%A IN ('"C:\Mein Test\FFPROBE.exe" -v error -select_streams v:0 -show_entries stream^=height^,width -of csv^=s^=x:p^=0 "%INPUTFILE%"') DO SET "RESOLUTION=%%A"
Das funktioniert auch nicht, also gehe ich von aus, dass mein Fehler nicht an der Variablen liegt.
Bitte warten ..
Mitglied: colinardo
LÖSUNG 18.06.2019, aktualisiert um 17:49 Uhr
Servus @Kriegstreiber ,
wie @rubberman schon vorgeschlagen hat (evt. hast du's übersehen?), nutze call vor dem Pfad
01.
FOR /F "delims=" %%A IN ('call "%FFPROBE%" -v error -select_streams v:0 -show_entries stream^=height^,width -of csv^=s^=x:p^=0 "%INPUTFILE%"') DO SET "RESOLUTION=%%A"
(positiv getestet)

Grüße Uwe
Bitte warten ..
Mitglied: Kriegstreiber
20.06.2019 um 00:26 Uhr
Danke euch beiden, "call" war der Sündenbock.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Unbekanntes Verzeichnis
gelöst Frage von IleiesBatch & Shell10 Kommentare

Hallo zusammen, Ich möchte gerne in ein Verzeichnis wechseln, dessen Namen ich nicht kenne. C:\ Es gibt im Überverzeichnis ...

Batch & Shell
Verzeichnis zurücksetzen
gelöst Frage von IleiesBatch & Shell1 Kommentar

Hallo zusammen, Sowohl hier als auch im Rest des Internets habe ich keinen Thread oder eine Anleitung gefunden. Wie ...

Windows Netzwerk
Drucker im Verzeichnis auflisten
Frage von EverestWindows Netzwerk4 Kommentare

Hallo zusammen, weißt jemand wie man nur bestimmte Drucker im Verzeichnis anzeigen lässt? Wir haben zwei Offices, ein Office ...

Batch & Shell
Datei aus Verzeichnis auslesen?
gelöst Frage von freshman2017Batch & Shell4 Kommentare

Hallo Ihr! Ich wollte mir gerade mit nachfolgendem Batch Befehl: alle darin befindlichen Bilder auflisten. Ausgabe: Wie kann ich ...

Neue Wissensbeiträge
Windows Update
Sicherheitsupdate für SQL Server 2014 SP3
Information von sabines vor 1 TagWindows Update2 Kommentare

Für den SQL Server 2014 existiert ein Sicherheitsupdate. Laut KB Artikel wird es als CU3 angezeigt: Server 2014 SP3 ...

Backup

Veeam Agent für MS Windows - neue Version verfügbar (bedingt jedoch offenbar .NET Framework 4.6)

Information von VGem-e vor 2 TagenBackup1 Kommentar

Moin Kollegen, einer unserer Server zeigte grad an, dass für o.g. Software ein Update verfügbar ist. Ob ein evtl. ...

Python

Sie meinen es ja nur gut - Microsoft hilft python-Entwicklern auf unnachahmliche Weise

Information von DerWoWusste vor 3 TagenPython2 Kommentare

Stellt Euch vor, Ihr nutzt python unter Windows 10 und skriptet damit regelmäßig Dinge. Nach dem Update auf Windows ...

Sicherheits-Tools

TrendMicro Worry-Free Business Security 10.0 SP1 steht in Englisch bereit mit Unterstützung für Windows 10 1903 (May Update)

Information von VGem-e vor 4 TagenSicherheits-Tools1 Kommentar

Moin Kollegen, Dann kommt wohl demnächst auch die deutschsprachige/europäische Version zur Auslieferung. Gruß VGem-e

Heiß diskutierte Inhalte
Windows Server
Windows Server 2016 einrichten
gelöst Frage von borjiaWindows Server34 Kommentare

Ich würde gerne einen Server einrichten, erstmal nur mit DNS und AD. Habe mich die letzten Wochen durch diverse ...

Netzwerkgrundlagen
Neue Serverumgebung von 0 aufbauen
Frage von JacareNetzwerkgrundlagen19 Kommentare

Hallo zusammen, ich bin noch nicht lange hier und weiß nicht, ob meine Frage daher etwas ungewöhnlich ist. Ich ...

Windows Server
Verbindunsproblem zwischen Klient und Wsus-Server
Frage von flashgordon78Windows Server16 Kommentare

Liebe Forum Besucher! Ich habe ein Wsus_Server (Win Server 2016) erstellt und die Update sind herunterladen worden. Aber ich ...

Batch & Shell
Batch: Dateien nach "exakten" Strings durchsuchen
gelöst Frage von SarumahrBatch & Shell14 Kommentare

Hallo, Ich möchte eine txt Datei nach einem String durchsuchen aber stoße dabei immer auf ein Problem. Wenn ich ...