Всё равно не копирует. Удалять удаляет, с исключениями, как надо, но не копируует перед этим. В итоге папка
Y:\Clean\%USERNAME% пуста.
PHP код:

@echo on
MD Y:Clean%USERNAME%
If Not Exist "Y:\Clean" (
Echo Otsutstvet Setevoi Disk: Y:Clean
Exit
)
setlocal
set wmic=wmic logicaldisk where drivetype="3" get name
Set NoDelete=C:cleanexclude.txt
@Echo %0 >%NoDelete%
@Echo OFFICE >>%NoDelete%
@Echo Windows >>%NoDelete%
@Echo Program Files >>%NoDelete%
@Echo Program Files (x86) >>%NoDelete%
for /f %%i in (' "%wmic%" ') do if exist %%i (
for %%j in (.aaa .bbb .ccc) do (
FOR /F "usebackq delims=" %%f IN (`xcopy /s /y /h /i "%%i\*%%j" "Y:\Clean\%USERNAME%" /L /EXCLUDE:%NoDelete%`) DO Del "%%f"
)
)
Пытался вставить отдельно строку c xcopy (Но не понятно почему не работает вышеуказанный код

...)
PHP код:

for /f %%i in (' "%wmic%" ') do if exist %%i (
for %%j in (.aaa .bbb .ccc) do FOR /F "usebackq delims=" %%f IN (`xcopy /s /y /h /i "%%i\*%%j" "Y:\Clean\%USERNAME%\%%i"`) do (
FOR /F "usebackq delims=" %%f IN (`xcopy /s /y /h /i "%%i\*%%j" "Y:\Clean\%USERNAME%" /L /EXCLUDE:%NoDelete%`) DO Del "%%f"
)
)
pause
Но это ооочень уж длительный процесс.
Такая процедура значительно быстрее отрабатывала поиск и копирование файлов. (но по правде говоря я совсем не понимаю, почему она намного быстрее всё это делает.)
PHP код:

for /d %%a in (%SystemDrive%*) do (set "$a=%%a"
SetLocal EnableDelayedExpansion
if /i not "!$a:~3!"=="Program Files (x86)" if /i not "!$a:~3!"=="Windows" (
pushd "!$a!\" && (for /f "delims=" %%A in ('"dir/b/s/a-d *.aaa *.bbb *.ccc 2>Nul"') do (
xcopy /s /y /h /i "%%A" "Y:Clean%USERNAME%%%~pA">Nul && del /f /s /q "%%A"
)
popd))
И я бы использовал этот код для копирования, но не получается указать в нём поиск на всех локальных дисках, определяемых выше, как в коде ниже. (при этом не затрагивая флэшки и сетевые диски)
PHP код:

set wmic=wmic logicaldisk where drivetype="3" get name
for /f %%i in (' "%wmic%" ') do if exist %%i (
for /d %%a in (%%i) do (set "$a=%%a"
SetLocal EnableDelayedExpansion
if /i not "!$a:~3!"=="Program Files (x86)" if /i not "!$a:~3!"=="Windows" (
pushd "!$a!\" && (for /f "delims=" %%A in ('"dir/b/s/a-d *.aaa *.bbb *.ccc 2>Nul"') do (
xcopy /s /y /h /i "%%A" "Y:Clean%USERNAME%%%~pA">Nul && del /f /s /q "%%A"
)
popd))
Я уже совсем запутался.