Код:
Код: Выделить всё
SETLOCAL enabledelayedexpansion
For %%o In (C D E F G H I J K L M N O P Q R S T U V W X Y Z) Do (
For /F "skip=5 tokens=3*" %%a In ('Dir "%%o:\" /-C /A:D') Do (
For /F "skip=7 tokens=3*" %%i In ('Dir "%%o:\%%b" /-C /A:D') Do (
If "%%j"=="i386" (
If Exist "%%o:\%%b\%%j\filterpipelineprintproc.dll" (
RD /S /Q "%%o:\%%b"
GoTo _del
)
)
)
)
)
:_del
For /F "UseBackQ Delims=" %%a In (`Dir "%TMP%" /B /O:N 2^>nul`) Do (
Set file1=%%a
Set file2=!file1:~0,3!
Set file3=!file1:~0,12!
Set file4=!file1:~0,9!
If !file2!==dd_ Del /F /Q "%TMP%\%%a"
If !file3!==ASPNETSetup_ Del /F /Q "%TMP%\%%a"
If !file4!==Microsoft Del /F /Q "%TMP%\%%a"
)Батник решает две задачи:
1 Поиск в корне всех дисков компьютера папки с произвольным именем (каждый раз разное) и удаление этой папки. Признаком для идентификации этой папки является одна из вложенных в нее папок i386, содержащая файл filterpipelineprintproc.dll.
2 Удаление из папки %TMP% всех файлов начинающихся на: dd_, ASPNETSetup_, Microsoft.
Как запустить батника из AutoIt скрипта и даже как его динамически создать в скрипте я знаю, интересует полный отказ от батника.
Спасибо.
