2013-05-14 10 views
5

Ich verwende den Befehlmit ohne Fehlermeldung

del "info*" 

eine Gruppe von Dateien mit „info“ starten zu löschen. Das Problem ist, dass manchmal mindestens eine dieser Dateien vorhanden ist, daher werden sie gelöscht und andere Male sind keine Dateien vorhanden und eine Fehlermeldung tritt auf. Ich brauche mein Skript darf nicht blockieren, wenn diese Dateien nicht existieren.

Ich sehe Optionen für del /? aber nichts hilft mir weiter.

Können Sie mir bitte helfen?

+0

Verwenden Sie 'del/q info *. *'? –

+0

Ich denke, dass der Parameter/Q nur erlauben Sie die Bestätigungsmeldung zu überspringen, es wird immer noch eine Fehlermeldung ausgegeben "Kann nicht finden [...]". Könnte falsch sein, obwohl – RelevantUsername

Antwort

9

try this:

del "file to delete" >nul 2>&1 
del "info*" >nul 2>&1 

Dieser sendet normale und Fehlermeldungen an nul.

del "file to delete" 2>nul 
del "info*" 2>nul 

sendet diese nur Fehlermeldungen an nul.

+0

vielen Dank, es ist gut! – new

4

Haben Sie so etwas wie dies versucht:

IF EXIST [Filename] (
    del [Filename] 
) ELSE (
    ... 
) 
3

könnte andere Möglichkeit, dies sein:

for /f "delims=" %a in ('dir /B /S info*') do del "%a"

Dies wird eine dir tun, um eine Liste der geeigneten Dateien zu erhalten. Wenn irgendwelche gefunden werden, tun Sie für jeden ein "del".

Sieht etwas übertrieben aus, wird aber Fehler wie "Dateiinfo * nicht gefunden" verhindern.