kriegstreiber
Goto Top

Meldung "Datei nicht gefunden" mit CMD DIR in einer FOR Schleife unterdrücken

Die Funktion ist gegeben, nur ich habe einen Schönheitsfehler. Hier besagter Auszug:

SET TXTFILES=0
FOR /F "delims=*" %%I IN ('dir /b /s "%SOURCE%\*.txt >nul 2>&1"') do SET /a TXTFILES=!TXTFILES!+1 >nul 2>&1  

auch die Lösung mit ^ for dem > funktioniert nicht face-sad

FOR /F "delims=*" %%I IN ('2^>nul dir /b /s "%SOURCE%\*.txt"') do SET /a TXTFILES=!TXTFILES!+1 >nul 2>&1  

Also ich suche mittels DIR nach Txtdateien im Ordner "%SOURCE%" und dessen Unterordnern. Wird eine Datei gefunden ist alles toll, der Counter geht hoch. Allerdings, wenn keine TXT Datei vorhanden ist bekomme ich die Meldung "Datei nicht gefunden". Das möchte ich unterdrücken. Ich habe wie im Code zu sehen bereits an 2 Stellen ein >nul gesetzt, leider ohne Erfolg. Ich wäre für Hilfe dankbar.

Gruss Tim

EDIT : Schande über mich Möglichkeit Nr. 2 funktioniert, hatte einen Tipfehler face-sad

FOR /F "delims=*" %%I IN ('2^>nul dir /b /s "%SOURCE%\*.txt"') do SET /a TXTFILES=!TXTFILES!+1 >nul 2>&1  

Content-ID: 358464

Url: https://administrator.de/contentid/358464

Ausgedruckt am: 22.11.2024 um 15:11 Uhr

Lochkartenstanzer
Lochkartenstanzer 17.12.2017 aktualisiert um 17:46:16 Uhr
Goto Top
Moin.

2>nul

lks

PS: Tipp: Mal nach stderr googlen.
Kriegstreiber
Kriegstreiber 17.12.2017 um 20:09:08 Uhr
Goto Top
Das 2>nul funktioniert normalerweise, in for Schleifen muss man allerdings ein "^" vor das ">" setzen, sonst meckert er rum.
Lochkartenstanzer
Lösung Lochkartenstanzer 17.12.2017 aktualisiert um 20:27:47 Uhr
Goto Top
Zitat von @Kriegstreiber:

Das 2>nul funktioniert normalerweise, in for Schleifen muss man allerdings ein "^" vor das ">" setzen, sonst meckert er rum.

Das habe ich vorusgesetzt, das Du das entsprechend einbaust.

Ich wollte damit nur hinweisen, daß Du stderr in den orkus lenken mußt. Es war nicht ersichtlich, daß es nur an einem Tippfehler Deinerseits lag - zumindest habe ich Deinen Edit erst nach meinem Kommentar gesehen.

lks