Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Как удалить все папки кроме папок с названием длиной в 14 символов? (http://forum.oszone.net/showthread.php?t=191081)

yaoleg2 13-11-2010 11:52 1541613

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

amel27 13-11-2010 12:28 1541638

так как ничего не сказано про подкаталоги, ищем только папки в корне диска, а файл в корне папки:
Код:

@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 1541713

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

PHP код:

del //%~d0*.* 


gora 13-11-2010 15:31 1541758

Цитата:

Цитата yaoleg2
А как удалить из корня диска Н:\ все файлы кроме *.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 1541830

gora, У меня удаляются все файлы, а должны удалятся все кроме файлов с расширением *.dbf.

gora 13-11-2010 17:04 1541833

Исправил

yaoleg2 13-11-2010 17:13 1541842

СПАСИБО amel27, gora, все получилось!!!

yaoleg2 15-11-2010 14:44 1543151

Все папки удаляет как надо, но возникла проблема с удалением папок в названии которых есть украинская буква "і". Как можно решить эту проблему?

amel27 15-11-2010 15:39 1543196

yaoleg2, подправил, проверяйте

vxor 26-03-2011 03:49 1644121

Код:

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\"


Время: 17:17.

Время: 17:17.
© OSzone.net 2001-