Ein bestimmte Zeile eines DIR-Befehls in Batch-Script mit ECHO anzeigen
Guten Morgen
In Windows 10 Pro 64-Bit deutsch gibt in einer Batch-/CMD-Datei der Befehl DIR %WINDIR%\winhlp32.exe im Fenster Eingabeaufforderung (inlusive Leerzeilen) 8 Zeilen aus.
Um 2 Dateien mit gleichem Namen bezüglich Datum, Uhrzeit und Dateigröße am Bildschirm (im Fenster Eingabeaufforderung) vergleichen zu können, darf nur die Zeile 6 (die mit Datum, Uhrzeit und Dateigröße) im Fenster Eingabeaufforderung angezeigt werden.
Mit
@echo off
cls
FOR /F "skip=4 delims=" %%i IN ('dir %WINDIR%\winhlp32.exe') do echo %%i
Werden 2 Zeilen zu viel angezeigt.
Mit "& goto WEITER" kann ich nach dem Auslesen der gewünschten Zeile aus der FOR-Schleife "herausspringen".
Aber ich muss für jede einzelne Abfrage eine individuelle EINMALIGE "Aussprungmarke" erstellen.
Da ich in dem Batch-Script den Dateien-Vergleich mehrfach habe, ist das eine sehr große Fehlerquelle.
FOR /F "skip=4 delims=" %%i IN ('dir %WINDIR%\winhlp32.exe') do echo %%i & goto WEITER1
:WEITER1
FOR /F "skip=4 delims=" %%i IN ('dir <AnderesVerzeichnis>\winhlp32.exe') do echo %%i & goto WEITER2
:WEITER2
...
Frage1:
Wie kann ich die FOR-Schleife nach dem Auslesen der ganzen Zeile (die mit Datum, Uhrzeit und Dateigröße) ohne goto beendet?
Frage2:
Gibt es eine Batch-Lösung ohne FOR-Schleife?
Im Voraus herzlichen Dank.
Viele österliche Grüße
In Windows 10 Pro 64-Bit deutsch gibt in einer Batch-/CMD-Datei der Befehl DIR %WINDIR%\winhlp32.exe im Fenster Eingabeaufforderung (inlusive Leerzeilen) 8 Zeilen aus.
Um 2 Dateien mit gleichem Namen bezüglich Datum, Uhrzeit und Dateigröße am Bildschirm (im Fenster Eingabeaufforderung) vergleichen zu können, darf nur die Zeile 6 (die mit Datum, Uhrzeit und Dateigröße) im Fenster Eingabeaufforderung angezeigt werden.
Mit
@echo off
cls
FOR /F "skip=4 delims=" %%i IN ('dir %WINDIR%\winhlp32.exe') do echo %%i
Werden 2 Zeilen zu viel angezeigt.
Mit "& goto WEITER" kann ich nach dem Auslesen der gewünschten Zeile aus der FOR-Schleife "herausspringen".
Aber ich muss für jede einzelne Abfrage eine individuelle EINMALIGE "Aussprungmarke" erstellen.
Da ich in dem Batch-Script den Dateien-Vergleich mehrfach habe, ist das eine sehr große Fehlerquelle.
FOR /F "skip=4 delims=" %%i IN ('dir %WINDIR%\winhlp32.exe') do echo %%i & goto WEITER1
:WEITER1
FOR /F "skip=4 delims=" %%i IN ('dir <AnderesVerzeichnis>\winhlp32.exe') do echo %%i & goto WEITER2
:WEITER2
...
Frage1:
Wie kann ich die FOR-Schleife nach dem Auslesen der ganzen Zeile (die mit Datum, Uhrzeit und Dateigröße) ohne goto beendet?
Frage2:
Gibt es eine Batch-Lösung ohne FOR-Schleife?
Im Voraus herzlichen Dank.
Viele österliche Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 564584
Url: https://administrator.de/contentid/564584
Ausgedruckt am: 21.11.2024 um 23:11 Uhr
3 Kommentare
Neuester Kommentar
Um deine Frage zu beantworten - filtere doch einfach die Zeile raus, die du benötigst. Etwa
Ich frage mich aber, warum du die DIR Ausgabe verarbeitest, statt die Modifikatoren der FOR Variablen zu nutzen. Bspw.
Steffen
for /f "delims=" %%i in ('dir %WINDIR%\winhlp32.exe^|find /i "winhlp32.exe"') do echo %%i
Ich frage mich aber, warum du die DIR Ausgabe verarbeitest, statt die Modifikatoren der FOR Variablen zu nutzen. Bspw.
for %%i in ("%WINDIR%\winhlp32.exe") do (
echo time %%~ti
echo size %%~zi
)
Steffen