есть еще вариант через
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"