2016-03-14 4 views
3

У меня есть папка, которая содержит файлы и папки внутри него, какWindows, партия команды для удаления папок только

C:/MyFolder 
C:/MyFolder/File1.txt 
C:/MyFolder/File2.txt 
C:/MyFolder/File3.sql 
C:/MyFolder/Folder1 
C:/MyFolder/Folder1/File5.txt 

команды Что партию мне нужно использовать, чтобы удалить все папки и содержимое внутри них без удаления файлов внутри моей папки. Пример: удалите папку 1, папку 1/файл 5.txt, но сохраните файлы File1.txt, File2.txt и File3.sql?

+0

Используйте 'del' (или' erase') для удаления файлов и 'rmdir' (или' rd') для удаления пустых каталогов; введите команду, за которой следует '/?' в окне командной строки для справки ... – aschipfl

ответ

3

Это показывает команды, - если вы счастливы с ними затем удалить echo ключевое слово и запустить его снова.

@echo off 
for /d %%a in ("C:\MyFolder\*") do echo rd "%%a" /q /s 
pause 
+0

Спасибо за coomand, но когда я попробовал что-то вроде этого "for/d %% a in (". ") Сделать rd" %% a "/ q/s" (как мне нужно удалить из текущего каталога), это удалили все не только папки и содержимое внутри них, даже файлы в текущем каталоге были удалены. – springbatcher

+0

@springbatcher Это не та команда, которую я включил. Проверьте скрипт, который я использовал, а затем дайте мне знать, если он не сработает. – foxidrive

+0

Эта команда выполнила трюк - for/d %% a in ("*") do rd "%% a"/q/s. Спасибо. – springbatcher

1

из командной строки:

for /f "tokens=* delims=" %a in ('dir /b /a:d "C:\someDir"') do @rd /s /q "%~fa" 

из пакетного файла:

for /f "tokens=* delims=" %%a in ('dir /b /a:d "C:\someDir"') do @rd /s /q "%%~fa" 
+1

Для этого нужен путь как-то npocmaka, или это может вызвать хаос, если он запускается в любом месте. – foxidrive

Смежные вопросы