2017-10-26 1 views
0

Ich habe versucht, unter Bat-Datei, die mir Anzahl der Dateien in einem Ordner vorhanden ist, ich bekam die Anzahl als die Dateien, aber wenn es keine Dateien gibt ich bekomme " Datei nicht gefunden“Unterdrücken "Datei nicht gefunden" in Batch-Datei

Count 0 ist und das ist in Ordnung, aber ich möchte unterdrücken "Datei nicht gefunden"

Script:

@echo off 

setlocal enabledelayedexpansion 

@echo off 

set c2=0 

echo Folder,NoOfFiles 

for /f "tokens=*" %%x in ('dir /s /a /b "D:\Flow\Flow1\Flow2\Flow3\NGR*.txt"') do set /a c2+=1 

echo.NGR,!c2! 

Ergebnis:

Ordner, NoOfFiles

Datei nicht

NGR gefunden, 0

Drücken Sie eine beliebige Taste, um fortzufahren. . .

Ich habe versucht 2> nul zu verwenden, aber das war auch nicht funktioniert

Kann mir bitte jemand helfen, die Lösung zu bekommen, was hier getan werden kann?

Antwort

1

versuchen mit:

for /f "tokens=*" %%x in ('dir /s /a /b "D:\Flow\Flow1\Flow2\Flow3\NGR*.txt" 2^>nul') do set /a c2+=1 
+0

hat gut funktioniert :) Danke :) könnten Sie mir bitte helfen zu verstehen, warum wir „^“ verwenden? –

+0

@RishabhBhargav - Da Sie einen anderen Befehl verwenden, müssen Sie das Umleitungssymbol '>' mit dem Cursor umgehen. Da die Umleitung eine höhere Priorität hat als für sie muss sie zunächst als String geparst und dann ausgeführt werden. – npocmaka