2014-10-31 90 views
0

我遠程進入計算機並放入幾個文件以修復計算機。我有一個批處理文件,可以停止除批處理文件中包含的所有正在運行的程序。批處理文件 - 除列出的服務外,正在停止服務

我想另一個去,雖然每個服務並停止它除了在批處理文件的幾個製作虛擬安全模式。如果它沒有運行,我希望它跳過該服務。 (並回顯是否運行) 我將不得不運行幾次來停止依賴關係,但我會根據需要手動執行此操作。我有一個類似的程序,它使用外部文本文件服務來保持運行,但希望使用包含在批處理文件中的服務的單個文件代碼如下。

任何人都可以爲我抓這個嗎?對此,我真的非常感激!

(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. 
) 
) 
) 
) 
) 
+0

首先,你到目前爲止嘗試過什麼?其次,你有沒有使用PowerShell的原因?這樣**會更容易**。 – briantist 2014-10-31 01:06:53

回答

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 
相關問題