1 (изменено: oleqlazyrin, 2022-07-26 12:59:08)

Тема: CMD/BAT: Как правильно удалить файлы?

Приветствую. Товарищи, подскажите пожалуйста, как можно оформить батник для удаления файлов с рабочего стола?
ТЗ: Нужно удалить с рабочего стола все, кроме 4-х элементов:
- Ярлык "Слак";
- Ярлык "Анидеск";
- Ярлык "Мои документы";
- Ярлык "Мой компьютер";
- Ярлык "1С".
Я сделал такое:


chcp 1251
msg * /time 999999 "Внимание! Сейчас будет произведена очистка компьютера."
chcp 866
timeout 5 /NOBREAK
echo Поиск файлов и папок.
2>nul (for /f "eol=: tokens=*" %%i in ('WHERE /F /R C:\Users\%username%\Desktop\ *.txt, *.doc, *.xls, *.pdf, *.tiff, *.png, *.xml., *.cvs, *.git, *.rtf, *.bmp, *.jpeg, *.rar, *.zip, *.xmind') do del %%i)
echo Удаляем временные файлы системы.
del C:\Users\%username%\AppData\Local\Temp\* /S /Q
del C:\Users\%username%\Downloads\* /S /Q
del C:\Windows\Prefetch. /Q
del C:\Windows\Temp. /Q
del C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Recent\* /S /Q
del /F /S /Q "C:\Users\%Username%\AppData\Local\Microsoft\Windows\Temporary Internet Files\*"
exit /b

Проблема в том, что оно не удаляет папки и не нужные линки.
Есть ли возможность использовать какую-либо логику "НЕ"?
Например, удалить все, кроме:
1) "Путь к линку на рабочем столе";
2) "Путь к линку на рабочем столе 2";
3) Кроме файла "Мой компьютер".
При всем при этом чтоб Батник лежал в любой другой папке.
Может кто-то помочь?