Показать полную графическую версию : удаление файлов с помощью Unlocker в неизвестной директории
Добрый вечер.
Помогите написать батник, который выполняет поиск файлов, по названию имён занесённым в список file.txt, к примеру check.dll vertu.dll, поиск на всех логических дисках, от С до Z. Найденный результат требуется удалить с применением утилиты Unlocker или ей подобной, так как найденные файлы могут быть задействованы в неизвестном активном процессе.
Вы не с вирусами так пытаетесь бороться (ибо бессмысленно, поскольку бесполезно)?
с поиском файлов как таковым нет, а вот как далее правильно передать полученный найденный результат команде на удаление с помощью утилиты. Утилита портативный unlocker лежит папке с батником
с поиском файлов как таковым нет »
Переведите на русский.
а вот как далее правильно передать полученный найденный результат…»
Приведите код.
извините за риторику
проблем с поиском нет
@echo off
for %%i in (q w e r t y u i o p a s d f g h j k l z x c v b n m) do if exist %%i:\test.dll
start Unlocker /d
Как передать найденный test.dll Unlocker-у для удаления
И как правильно реализовать процесс поиска файлов из вложенного в папку с батником и утилитой списка имён для поиска - file.txt?
проблем с поиском нет »
Ну, так это не поиск, а простая проверка на существование файла в корневом каталоге. И мне не нравится ручное перечисление всего и вся.
Как передать найденный test.dll Unlocker-у для удаления
И как правильно реализовать процесс поиска файлов из вложенного в папку с батником и утилитой списка имён для поиска - file.txt? »
Например, так:
@echo off
setlocal enableextensions enabledelayedexpansion
for %%i in (q w e r t y u i o p a s d f g h j k l z x c v b n m) do (
for /f "usebackq delims=" %%j in ("%~dp0file.txt") do (
if exist "%%i:\%%j" (
"%~dp0Unlocker.exe" "%%i:\%%j" /d /s
)
)
)
endlocal
exit /b 0
А лучше — так:
@echo off
setlocal enableextensions enabledelayedexpansion
for /f "usebackq delims=" %%i in (
`wmic.exe LogicalDisk where "DriveType=3" get Name /value ^| find.exe /i "Name="`
) do (
for /f "usebackq delims=" %%j in (`echo %%i`) do set s%%j
for /f "usebackq delims=" %%j in ("%~dp0file.txt") do (
if exist "!sName!\%%j" (
"%~dp0Unlocker.exe" "!sName!\%%j" /d /s
)
)
)
endlocal
exit /b 0
оба варианта не работают к сожалению, консоль просто вылетает, после запуска, pause в конце тоже не помогло выявить ошибку,
Запускал из cmd сам батник с записью выполнения в лог.txt для выявления синтаксиса ошибок, лог пустой
Могу сказать только одно: у меня работает: 108475 (ролик-скринкаст к плагину SShoot (http://plugring.farmanager.com/plugin.php?pid=691&l=ru) Far Manager'а).
спасибо за помощь. С наступающим
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.