PDA

Показать полную графическую версию : [решено] Как удалить все папки кроме папок с названием длиной в 14 символов?


yaoleg2
13-11-2010, 11:52
Как удалить все папки на флешке, кроме папок с названием длиной 14 цифр и которые имеют хотя бы 1 файл с расширением *.dbf ?

amel27
13-11-2010, 12:28
так как ничего не сказано про подкаталоги, ищем только папки в корне диска, а файл в корне папки:
@Echo Off
Set DRV=H

For /F "Delims=" %%a In ('Dir /B/AD %DRV%:\*^|FindStr /VXRC:".............."') Do Echo RD /S/Q "%DRV%:\%%~sna"
For /F "Delims=" %%a In ('Dir /B/AD %DRV%:\*') Do If Not Exist "%DRV%:\%%a\*.dbf" Echo RD /S/Q "%DRV%:\%%~sna"


P.S. для боевого запуска убрать 2 команды Echo

yaoleg2
13-11-2010, 14:43
amel27, А как удалить из корня диска Н:\ все файлы кроме *.dbf ? СПАСИБО !!!

del /f /q %~d0\*.*

gora
13-11-2010, 15:31
А как удалить из корня диска Н:\ все файлы кроме *.dbf ? »допишите еще одну строку:
For /F "Delims=" %%a In ('Dir /B/A-D %DRV%:\') Do If Not "%%~xa"==".dbf" Echo Del /F/Q "%DRV%:\%%a"Про Echo amel27 написал.

yaoleg2
13-11-2010, 17:02
gora, У меня удаляются все файлы, а должны удалятся все кроме файлов с расширением *.dbf.

gora
13-11-2010, 17:04
Исправил

yaoleg2
13-11-2010, 17:13
СПАСИБО amel27, gora, все получилось!!!

yaoleg2
15-11-2010, 14:44
Все папки удаляет как надо, но возникла проблема с удалением папок в названии которых есть украинская буква "і". Как можно решить эту проблему?

amel27
15-11-2010, 15:39
yaoleg2, подправил, проверяйте

vxor
26-03-2011, 03:49
For /F "Delims=" %%a In ('Dir /B/AD %DRV%:\*^|FindStr /VXRC:".............."') Do Echo RD /S/Q "%DRV%:\%%~sna"
Все прекрасно работает, кроме папки c:\Documents and Settings\All Users\Главное меню\Программы\ABBYY FineReader 8.0\

Команды:
For /F "Delims=" %%a In ('Dir /B/AD "%allusersprofile%\Главное меню\Программы\*"^|FindStr /VXRC:"Автозагрузка"^|FindStr /VXRC:"Администрирование"^|FindStr /VXRC:"Игры"^|FindStr /VXRC:"Стандартные"') Do RD /S/Q "%allusersprofile%\Главное меню\Программы\%%~sna"
For /F "Delims=" %%a In ('Dir /B/AD "%userprofile%\Главное меню\Программы\*"^|FindStr /VXRC:"Автозагрузка"^|FindStr /VXRC:"Стандартные"') Do RD /S/Q "%userprofile%\Главное меню\Программы\%%~sna"
Ее не удаляет.

В чем может быть проблема? Притом она просто удаляется через команду: rd /S/Q "c:\Documents and Settings\All Users\Главное меню\Программы\ABBYY FineReader 8.0\"




© OSzone.net 2001-2012