Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


есть еще вариант через WMI:
Код: Выделить весь код
@Echo Off
SetLocal EnableExtensions

Set DIR=XXX

For /F "UseBackQ Tokens=2 Delims==" %%i In (
   `WMIC FSDIR Where 'Name LIKE "%%\\%DIR%"' Get Name /Value^|Find "="`
) Do For /F "Delims=" %%a In ('Echo %%i') Do Echo RD /S/Q "%%a"
не вижу смысла в сканировании сетевых или CD дисков, т.к. сильно замедляется работа скрипта, а шары лучше чистить локально на сервере, поэтому можно ограничить... скажем, только локальные (HDD) и сменные (USB):
Код: Выделить весь код
@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion

Set DIR=1

For /F "Skip=1 UseBackQ Tokens=1,2" %%i In (
   `WMIC LogicalDisk Where 'DriveType^=2 Or DriveType^=3' GET Name^,SystemName`
) Do If Not "%%j"=="" If Defined $R (
   Set $R=!$R! OR Drive^^^^="%%i"
   ) Else  Set $R=Drive^^="%%i"

If Not Defined $R Exit /B 1

For /F "UseBackQ Tokens=2 Delims==" %%i In (
   `WMIC FSDIR Where '^(%$R%^) And Name LIKE "%%\\%DIR%"' Get Name /Value^|Find "="`
) Do For /F "Delims=" %%a In ('Echo %%i') Do Echo RD /S/Q "%%a"

Последний раз редактировалось amel27, 30-10-2009 в 12:40. Причина: очепятка

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:32, 26-10-2009 | #5