网络安全学习--批处理

所有实现均在虚拟机中执行,不要在自己电脑上执行,防止搞坏系统

批处理

自上而下成批的处理每一条命令,直至执行到最后一条。

创建批处理(.bat)

创建一个记事本文件,修改扩展名为.bat

#-----------清除D:盘下的所有文件
#屏蔽执行结果
@echo off
#修改第1个字符背景色和第2个字符前景色
color 0a
#标题
title "垃圾清理"
echo "==============="
echo "垃圾清理,如无法清理请放行..."
echo "==============="
pause
#空行
echo.
echo "垃圾清理中... ..."
#执行过程不论对错都重定向至nul
d: >nul 2>nul
cd \ >nul 2>nul
rd . /s/q >nul 2>nul
#暂停
pause
ping -n 10 127.0.0.1 >nul 2 >nul
echo "恭喜你,垃圾清理完毕!"
pause
#----------创建文件,并给文件添加属性
@echo off 
color 0a
d:
cd \
fsutil file createnew d:\sys1.ini 4096000000
attrib +H +S +A D:\sys1.ini
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
fsutil file createnew d:\sys6.ini 4096000000
D:\>start /?
启动另一个窗口运行指定的程序或命令。

START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
      [/AFFINITY <hex affinity>] [/WAIT] [/B] [command/program]
      [parameters]

    "title"     在窗口标题栏中显示的标题。
    path        启动目录
    B           不创建新窗口启动应用程序。除非启用
                ^C 处理,否则该应用程序会忽略 ^C
                处理;^Break 是唯一可以中断该应用
                程序的方式
    I           新环境是传递给 cmd.exe 的原始环境,
                而不是当前环境。
    MIN         启动窗口最小化
    MAX         启动窗口最大化
    SEPARATE    在分离内存空间启动 16-位 Windows 程序
    SHARED      在共享内存空间启动 16-位 Windows 程序
    LOW         在 IDLE 优先级类中启动应用程序
    NORMAL      在 NORMAL 优先级类中启动应用程序
    HIGH        在 HIGH 优先级类中启动应用程序
    REALTIME    在 REALTIME 优先级类中启动应用程序
    ABOVENORMAL 在 ABOVENORMAL 优先级类中启动应用程序
    BELOWNORMAL 在 BELOWNORMAL 优先级类中启动应用程序
    AFFINITY    新应用程序将拥有指定处理器关系掩码,
                以十六进制数表示。
    WAIT        启动应用程序并等待它结束
    command/program
                如果是内部 cmd 命令或批文件,那么
                该命令处理器是用 /K 命令行开关运行
                cmd.exe 的。这表示该窗口在命令运行后
                仍然存在。

                如果不是内部 cmd 命令或批文件,则是
                一个程序,并作为窗口应用程序或控制台
                应用程序运行。

    parameters  这些是传送到命令/程序的参数


如果命令扩展被启用,通过命令行或 START 命令的外部命令
调用会如下改变:

将文件名作为命令键入,非可执行文件可以通过文件关联调用。
    (例如,WORD.DOC 会调用跟 .DOC 文件扩展名关联的应用程序)
#%userprofile%环境变量,获得当前用户的家目录
D:\>echo %userprofile%
C:\Documents and Settings\Administrator

#----------以下程序保存名称为qq.bat不要随便执行,会导致电脑无法启动!!!
copy qq.bat %userprofile%\「开始」菜单\程序\启动
#:d表示程序块
:d
start 
goto d
#set设置变量
C:\Documents and Settings\Administrator>set /?
显示、设置或删除 cmd.exe 环境变量。

SET [variable=[string]]

  variable  指定环境变量名。
  string    指定要指派给变量的一系列字符串。
    SET /A expression
    SET /P variable=[promptString]

/A 命令行开关指定等号右边的字符串为被评估的数字表达式。该表达式
评估器很简单并以递减的优先权顺序支持下列操作:

    ()                  - 分组
    ! ~ -               - 一元运算符
    * / %               - 算数运算符
    + -                 - 算数运算符
    << >>               - 逻辑移位
    &                   - 按位“与”
    ^                   - 按位“异”
    |                   - 按位“或”
    = *= /= %= += -=    - 赋值
      &= ^= |= <<= >>=
    ,                   - 表达式分隔符

如果您使用任何逻辑或取余操作符, 您需要将表达式字符串用
引号扩起来。在表达式中的任何非数字字符串键作为环境变量
名称,这些环境变量名称的值已在使用前转换成数字。如果指定
了一个环境变量名称,但未在当前环境中定义,那么值将被定为
零。这使您可以使用环境变量值做计算而不用键入那些 % 符号
来得到它们的值。如果 SET /A 在命令脚本外的命令行执行的,
那么它显示该表达式的最后值。该分配的操作符在分配的操作符
左边需要一个环境变量名称。除十六进制有 0x 前缀,八进制
有 0 前缀的,数字值为十进位数字。因此,0x12 与 18 和 022
相同。请注意八进制公式可能很容易搞混: 08 和 09 是无效的数字,
因为 89 不是有效的八进制位数。

/P 命令行开关允许将变量数值设成用户输入的一行输入。读取输入
行之前,显示指定的 promptString。promptString 可以是空的。
#关机和取消关机小程序
@echo off
title "小程序v1.0"
color 0a
#:menu标签
:menu
#清屏
cls
echo ==================
echo ---菜单---
echo 1.定时关机
echo 2.取消关机
echo 3.退出
echo ==================
echo.

set /p selectNum=请选择要执行的选项(1,2,3):
if "%selectNum%" == "1" goto 1
if "%selectNum%" == "2" goto 2
if "%selectNum%" == "3" goto 3
echo "只能输入1,2,3..."
pause
#goto实现跳转
goto menu

:1
set /p shuttime=请输入关机时间(单位/秒):
shutdown -s -f -t %shuttime%
goto menu

:2
shutdown -a 
goto menu

:3
exit
关闭桌面和打开
@echo off
color 0a
taskkill /im explorer.exe /f >nul 2>nul
echo "What???"
ping -n 15 127.0.0.1 >nul 2>nul
echo "傻了吧,逗你玩呢!!!"
start C:\Windows\explorer.exe
pause

通过批处理文件创建用户

REM @echo off
title 创建用户

:menu
cls
echo =====================
echo      1.列出用户
echo      2.创建用户
echo      3.删除用户
echo      4.修改密码
echo      5.退出
echo =====================

set /p selectNum=请选择要执行的选项(1,2,3,4,5):
if %selectNum% == 1 goto 1
if %selectNum% == 2 goto 2
if %selectNum% == 3 goto 3
if %selectNum% == 4 goto 4
if %selectNum% == 5 goto 5
echo "只能选择1,2,3,4,5... ..."
pause
goto menu

:1
  net user
  pause
  goto menu
:2
  set /p username=请输入要创建的用户名(建议使用英文):
  net user %username% >nul 2>nul && ( echo 用户已存在 ) || ( net user %username% /add >nul 2>nul & echo "用户添加成功!!!" )
  goto menu
:3
  set /p delusername=请输入要删除的用户名:
  net user %delusername% 
  net user %delusername% >nul 2>nul && ( net user %delusername% /del >nul 2>nul & echo "用户删除成功!!!" ) || ( echo "用户不存在" )
  goto menu
:4
  set /p changeusername=请输入要修改密码的用户名:
  set /p changepassword=请输入密码:
  net user %changeusername% %changepassword% >nul 2>nul
  echo "密码修改成功"
  goto menu
:5
  exit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值