PDA

Показать полную графическую версию : батник для удаления файла...


Bara1gin
04-12-2014, 23:39
Здравствуйте!
Задача такова:
1. необходимо удалить исполняемый файл находящийся на диске с
2. завершить процесс
3. удалить службу

есть вот такой bat., но он не устраивает тем что при переименовании файла переименовывается и запущенный им процесс, а служба вроде как имя не меняет

taskkill /F /IM название процесса1.exe
del /q/f/a/s "C:\название файла1.exe
@sc delete название службы5
@pause

вроде как все удалит и остановит, но если переименовать, файл с процессом останутся, а служба будет остановлена
можно ли удалить файл и завершить процесс только по наименованию службы?!
За ранее спасибо!

Iska
04-12-2014, 23:55
Зачем всё это нужно?
Как связаны исполняемый файл и служба?
Кто и зачем переименовывает исполняемый файл?

Bara1gin
05-12-2014, 00:05
попробую объяснить...
на компьютер был закинут исполняемый файл(прога с расширением .exe), куда неизвестно предположим диск с, его запустили и установили службой, после чего комп перезагрузили теперь запускается процесс ну и соответственно служба, что есть не хорошо и это надо удалить еще на нескольких компах.

собственно можно ли удалить файл от обратного зная только название установленной службы?

Georgio
05-12-2014, 03:05
@echo off

set "service=имя службы"

for /f "delims=" %%i in ('
"wmic SERVICE where Name="%service%" get PathName| findstr \\"
') do (
set x=%%i
call set "y=%%x:*.exe=%%"
for /f "delims=" %%j in ('cmd /v:on /c call echo "!x:%%y%%=!"') do (
taskkill /f /im "%%~nxj"
del /a/f %%j
sc delete "%service%"
)
)

exit /b

Iska
05-12-2014, 05:05
собственно можно ли удалить файл от обратного зная только название установленной службы? »
Можно.

Но мне ситуация не нравится. Просто так «его запустили и установили службой» не работает. И что мешает сделать сие «ручками» «на нескольких компах»?

Bara1gin
06-12-2014, 15:49
Все работает отлично!!!
Просто супер! Спасибо!




© OSzone.net 2001-2012