批处理文件 - 停止除列出的服务之外的服务

时间:2014-10-31 01:03:54

标签: windows batch-file service

我远程进入计算机并放入一些文件来修复计算机。我有一个批处理文件,可以停止所有正在运行的程序,但批处理文件中包含的程序除外。

我希望其他人能够通过每个服务并将其停止在批处理文件中进行一些虚拟安全模式。如果它没有运行,我希望它跳过该服务。 (如果它正在运行则回显) 我将不得不运行它几次来停止依赖,但我会根据需要手动执行。我有一个类似的程序,它使用外部文本文件使服务保持运行,但是希望将一个文件与批处理文件中包含的服务一起放在下面的代码中。

任何人都可以为我解决这个问题吗?我真的很感激!

(Thanks to  Bharat)
for /f "skip=3 tokens=1" %%i in ('TASKLIST /FI "USERNAME eq %userdomain%\%username%" /FI "STATUS eq running"') do (
if not "%%i"=="svchost.exe" (
if not "%%i"=="explorer.exe" (
if not "%%i"=="cmd.exe" (
if not "%%i"=="tasklist.exe" (
echo.
taskkill /f /im "%%i" 
echo.
)
)
)
)
)

1 个答案:

答案 0 :(得分:0)

我通过更多研究完成了我的脚本。我知道它很丑,但它允许我在远程计算机上运行,​​还有增长空间。它有一个内置的忽略列表,删除临时文件并打开文件夹以确认所有其他区域都是空的。 为什么不是PowerShell?我对Windows命令的了解较少。只想分享并获得任何改进。

@echo off
title Kill all running apps
color 0A
:start

cd c:\windows\System32
for /f "skip=3 tokens=1" %%i in ('TASKLIST /FI "USERNAME eq             %userdomain%\%username%" /FI "STATUS eq running"') do (
echo %%i
if not "%%i"=="svchost.exe" (
if not "%%i"=="explorer.exe" (
if not "%%i"=="cmd.exe" (
if not "%%i"=="tasklist.exe" (
if not "%%i"=="notepad.exe" (
if not "%%i"=="dllhost.exe" (
if not "%%i"=="cis.exe" (
if not "%%i"=="cistray.exe" (
if not "%%i"=="cmd.exe" (
if not "%%i"=="taskmgr.exe" (
if not "%%i"=="conhost.exe" (
::desktop windows manager
if not "%%i"=="dwm.exe" (
if not "%%i"=="tv_w32.exe" (
if not "%%i"=="tv_x64.exe" (
if not "%%i"=="TeamViewer.exe" (
if not "%%i"=="taskmgr.exe" (
if not "%%i"=="cmd.exe" (
if not "%%i"=="cmd.exe" (
if not "%%i"=="cmd.exe" (
if not "%%i"=="cmd.exe" (
if not "%%i"=="cmd.exe" (
if not "%%i"=="cmd.exe" (
if not "%%i"=="cmd.exe" (
echo.
echo %%i
ping -n 2 -w 1 127.0.0.1>nul
taskkill /f /im "%%i"
ping -n 2 -w 1 127.0.0.1>nul
echo.
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)

:open
explorer.exe "%USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary     Internet Files\"
explorer.exe "%USERPROFILE%\AppData\Local\Temp\"
explorer.exe %windir%\temp

:delete
echo.&echo.&Echo Now empty temp files.
::=========Delete temp files=========
::empty user temp folder
cd /d %temp%   
echo.&echo.&echo deleting files.......
for /d %%D in (*) do rd /s /q "%%D"
del /f /q *

::empty Admin temp folder


echo.&echo.&echo Empty windows temp file
cd /d %windir%\temp\   
::dir /w
echo.&echo.&echo deleting files.......
for /d %%D in (*) do rd /s /q "%%D"
del /f /q *

goto folders


:folders
echo Now turn off processes
taskmgr
msconfig
Taskschd.msc
ping -n 5 -w 1 127.0.0.1>nul

:eof