2017-09-21 4 views
0

ich eine Batch-Datei ausgeführt wird, den Inhalt (und Unterordner) eines temporären Verzeichnis zu löschen, basierend auf den Unterordnernamen in deletedirs.txt bestehendenBatchdatei löschen Inhalt Aber Verlassen Ordner

FOR /F %%i IN (C:\deletedirs.txt) DO del "C:\temppurge\*" rmdir /s /q "C:\temppurge\"%%i 

die Löscht Inhalt der Unterordner im Temppurge-Verzeichnis, aber die Unterordner selbst bleiben intakt. Was vermisse ich?

+0

nicht die Lösung, aber: Sie müssen einen '&' zwischen zwei verketteten Befehle platzieren, wie Sie haben: 'del ... & rmdir ...' – aschipfl

+0

Duplizieren von https://stackoverflow.com/ Fragen/6836566 /. Siehe meine Antwort dort. –

+1

Mögliches Duplikat von [Batch-Datei. Lösche alle Dateien und Ordner in einem Verzeichnis] ​​(https://stackoverflow.com/questions/6836566/batch-file-delete-all-files-and-folders-in-a-directory) –

Antwort

0

Verwenden Sie diese Batch-Datei (Shell-Skript).

@echo off 
setlocal enableextensions 
if {%1}=={} goto :HELP 
if {%1}=={/?} goto :HELP 
goto :START 

:HELP 
echo Usage: %~n0 directory-name 
echo. 
echo Empties the contents of the specified directory, 
echo WITHOUT CONFIRMATION. USE EXTREME CAUTION! 
goto :DONE 

:START 
pushd %1 || goto :DONE 
rd /q /s . 2> NUL 
popd 

:DONE 
endlocal