Unerwünschte Leerzeile
Hallo,
der folgende Code liefert mir als Ergebnis in der zweiten Zeile eine Leerzeile, die ich aber nicht haben möchte.
Beispielergebnis:
Aktuelle Zeit: 13:44:29,54
"d:\Quelle\Test\BEFEHLE.TXT"
Aktuelle Zeit: 13:44:29,61
Wie müsste der Code aussehen, um die Leerzeile zu vermeiden?
Grüße
joe65
der folgende Code liefert mir als Ergebnis in der zweiten Zeile eine Leerzeile, die ich aber nicht haben möchte.
echo.|time|find /v "neue" >> "%Ergebnisdatei%"
Forfiles /P %myPath% /S /M *.* /D -%myDate% /C "cmd /c echo @path" >> %Ergebnisdatei%
echo.|time|find /v "neue" >> "%Ergebnisdatei%"
Beispielergebnis:
Aktuelle Zeit: 13:44:29,54
"d:\Quelle\Test\BEFEHLE.TXT"
Aktuelle Zeit: 13:44:29,61
Wie müsste der Code aussehen, um die Leerzeile zu vermeiden?
Grüße
joe65
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 216096
Url: https://administrator.de/contentid/216096
Ausgedruckt am: 25.11.2024 um 17:11 Uhr
10 Kommentare
Neuester Kommentar
Hallo joe65,
Zeile 2 deines Ausschnitts z.B. so:
oder simpler so
Grüße Uwe
Zeile 2 deines Ausschnitts z.B. so:
for /f "skip=1 delims=" %%k IN ('Forfiles /P "%myPath%" /S /M *.* /D -%myDate% /C "cmd /c echo @path"') DO @echo %%k >>%Ergebnisdatei%
Forfiles /P "%myPath%" /S /M *.* /D -%myDate% /C "cmd /c echo @path" | more +1 >>%Ergebnisdatei%
Hi @bastla,
darüber habe ich natürlich auch intensiv nachgedacht
Ich nehme an, dem OP ist an besonderem output gelegen:
Den bekommt man zwar schneller mit
lg.
darüber habe ich natürlich auch intensiv nachgedacht
Ich nehme an, dem OP ist an besonderem output gelegen:
Aktuelle Zeit: 15:48:37.48
Den bekommt man zwar schneller mit
echo
, aber wer weiss ....lg.
moin,
wenn innerhalb einer Klammer mehrmals die Eingabesimulation (keine anderen Eingeben erwartet werden zB. set /p x=eingabe ) sowie die Zeilen mit "Doppelpunkt und anschließend 2 Zeichen" ausgeben werden sollen - nimmt auch Hier die Fehlerausgabe von forfiles mit,
reicht EINE EingabeUmleitung und eine ausgabeFilterung:
Das Time eine zusätzliche Leerzeile Produziert kann ich hier bei Win7 nicht nachvollziehen.
[edit] seh grad das diese von forfiles stammt [/edit]
Gruß Phil
wenn innerhalb einer Klammer mehrmals die Eingabesimulation (keine anderen Eingeben erwartet werden zB. set /p x=eingabe ) sowie die Zeilen mit "Doppelpunkt und anschließend 2 Zeichen" ausgeben werden sollen - nimmt auch Hier die Fehlerausgabe von forfiles mit,
reicht EINE EingabeUmleitung und eine ausgabeFilterung:
<nul (
time
2>&1 Forfiles /P "%myPath%" /S /M *.* /D -%myDate% /C "cmd /c echo @path"
time
) |findstr ":.." >D:\ergebnisse.txt
Das Time eine zusätzliche Leerzeile Produziert kann ich hier bei Win7 nicht nachvollziehen.
[edit] seh grad das diese von forfiles stammt [/edit]
Gruß Phil
Hi @pieh-ejdsch,
wenn du die STDERR von
es sei denn, du kennst da alle Fehlermeldungen
lg.
wenn du die STDERR von
forfiles
umleitest, ist es nicht sinnvoll nach :..
zu filtern.es sei denn, du kennst da alle Fehlermeldungen
lg.
Moin Endoro,
jep, das finde ich auch mehr als gewagt, als kleinsten gemeinsamen Nenner für FINDSTR ein ":.." zu nehmen.
Aber wie es der Zufall will - in diesem Fall würde es sogar funktionieren.
Die Fehlermeldungen von FORFILES.exe beginnen alle mit "FEHLER: ...bla" (im Original wahrscheinlich "ERROR: ...blah).
Diese Zeile wird von ":.." durchgelassen.
Weggefiltert wird die Standardsignatur "Geben Sie "FORFILES /?" ein, um die Syntax anzuzeigen."
Wäre okay, wenn es pieh-ejdsch so geplant hätte.
Aber was soll der Unfug - mit einem "echo Startzeit: %time%" vorweg und einem "echo Stopzeit: %time%" danach bleibt nur die Forfiles-Leerzeile wegzufiltern, und das sollte lösbar sein.
Grüße
Biber
jep, das finde ich auch mehr als gewagt, als kleinsten gemeinsamen Nenner für FINDSTR ein ":.." zu nehmen.
Aber wie es der Zufall will - in diesem Fall würde es sogar funktionieren.
Die Fehlermeldungen von FORFILES.exe beginnen alle mit "FEHLER: ...bla" (im Original wahrscheinlich "ERROR: ...blah).
Diese Zeile wird von ":.." durchgelassen.
Weggefiltert wird die Standardsignatur "Geben Sie "FORFILES /?" ein, um die Syntax anzuzeigen."
Wäre okay, wenn es pieh-ejdsch so geplant hätte.
Aber was soll der Unfug - mit einem "echo Startzeit: %time%" vorweg und einem "echo Stopzeit: %time%" danach bleibt nur die Forfiles-Leerzeile wegzufiltern, und das sollte lösbar sein.
Grüße
Biber
moin Biber,
die Fehlerausgabe von forfiles habe ich vorher getestet. Außer der /? Zeile waren alle (die ich gesehen habe) mit Doppelpunkt.
Wenn more die erste Zeile entfernt ist aber leider die Eigenschaft von more auch hinten eine daran zu hängen.
Speziell für diese Abfolge mit forfiles könnte die erste Ausgabe ohne Zeilenumbruch erfolgen:
Kein Filtern und keine Unterschlagene Fehlermeldung.
Gruß Phil
die Fehlerausgabe von forfiles habe ich vorher getestet. Außer der /? Zeile waren alle (die ich gesehen habe) mit Doppelpunkt.
Wenn more die erste Zeile entfernt ist aber leider die Eigenschaft von more auch hinten eine daran zu hängen.
Speziell für diese Abfolge mit forfiles könnte die erste Ausgabe ohne Zeilenumbruch erfolgen:
set /p "@=Aktuelle Zeit: %time% >> "%Ergebnisdatei%"
Forfiles /P %myPath% /S /M *.* /D -%myDate% /C "cmd /c echo @path" >> %Ergebnisdatei% 2>&1
echo Aktuelle Zeit: %time% >> "%Ergebnisdatei%"
Kein Filtern und keine Unterschlagene Fehlermeldung.
Gruß Phil