DOS
DOS(Disk Operating System,磁盘操作系统),是一个基于磁盘管理的、单用户单任务的操作系统。
DOS命令分类
- 内部命令:是DOS命令中常驻内存的一部分,它是在当系统冷、热启动时由磁盘上的系统文件装入内存的,用户使用时仅仅时调用内存中系统区的某一个程序段来执行。
- 外部命令:以可执行的程序文件形式(后缀通常为.exe或.com)存在磁盘上,也就是说该命令文件必须记录在磁盘或已插入驱动器的软盘上,否则DOS是找不到命令的。
- 批处理命令:在使用磁盘命令过程中,有时需要连续使用几条DOS命令,有时又要重复使用若干条DOS命令,有时还需要有选择地使用某些DOS命令,为了满足这些要求,DOS提供了一些特殊文件(后缀为.bat的文件),该文件允许用户组织键盘命令语言程序,一次建立,多次执行。
DOS基本知识
盘符
盘符,就是硬盘分区在DOS状态下的一个字母提示符。
目录
- 在硬盘里,目录和文件夹都是一个树形结构。在DOS下,最底层的目录,是根目录。
- DOS下目录的表示符号(分隔符)是“\”,通常将根目录定义为“\”,\txt\doc的意思就是从根目录起,第一级子目录为txt,第二级子目录为doc
DOS基本命令
命令
- cd \ 返回根目录
- cd ..返回到上一级目录
- echo 输出,如果大于符号指向文本,表示将内容写入到文本的意思
echo "hello world" > test.txt
- exit 退出DOS
- type 文件名.扩展名 显示文件内容
- cls 当前命令清空
- rd . /s/q删除文件夹和文件夹里的所有文件和文件夹
- del 文件名.扩展名 删除文件
- dir /a 显示所有文件,包括隐藏文件
del *.txt #删除所有以.txt结尾的文件
del *.* #删除所有文件
注: *为通配符,代表任何字符,任意长度
- md 文件夹名 创建文件夹
- dir显示文件夹内容
- ren 原文件名 新文件名 重命名(文件、文件夹均可)
特殊命令
以下命令博主测试只适用于WIN XP系统。
创建一个超大的空文件
fsutil file createnew c:\system.ini 409600000 #最后一个参数为文件大小,单位为字节
改变超大空文件的属性
attrib +s +a +h +r system.ini
- +s 为文件增加系统文件属性
- +a 为文件增加存档文件属性
- +r 为文件增加只读属性
- +h 为文件增加隐藏属性
注:隐藏的系统文件需要在文件夹选项里修改“隐藏系统文件”选项即可查看,或使用dir /a命令查看所有文件(包含隐藏文件)
3. 改变文件关联性
assoc .txt=exefile 将txt文件当成可执行文件执行
assoc .txt=txtfile 将txt文件当成txt文件执行
注:单独使用assoc可查看此电脑所有文件关联性
- 定时
shutdown -s -t 100
- -s 关机
- -r 重启
- -l 注销
- -f 强制(此条命令可以强制关机、重启)
- -t 设置关机时间
- 100 在100s后关机
注:此命令产生的效果只能用shutdown -a解除,且在Windows其他系统中均适用。
重定向符号
- > 覆盖,把前面的内容输入到后边的文件中,会清除文件原有文件
- >> 追加,将前面的内容加在文件原有内容的后面
- 2>错误重定向,把错误信息输入到后边的文件中,会删除文件原有内容。
批处理的编写
批处理的作用
自上而下成批的处理每一条命令,直到执行到最后一条。即使其中一条命令错误,也会继续向下执行。Windows下的批处理文件对应Linux下的Shell 脚本。
注:批处理文件的运行方式为打开cmd窗口运行.bat文件中的命令,执行完毕后立即关闭cmd窗口,使用pause命令可以暂停命令的执行,按下回车键又继续执行。
如何创建批处理
扩展名:.bat
创建方法:新建一个记事本文件,然后将扩展名改为.bat
编辑方式:右键点击文件选择编辑,一行一条命令
批处理命令
基本命令
- pause 暂停批处理运行,按下回车继续执行(只在批处理中有意义)
- @echo off 关闭回显,屏蔽过程,只输出结果,建议放在首行
- color 颜色代码 改变字体颜色
- title 内容 修改cmd框的主题内容
- echo. 空一行(只在批处理中有意义
- copy con xx.bat 往bat文件里写入批处理命令,使用ctrl+Z终止
死循环
执行以下命令会给计算机造成命令死循环,会导致计算机崩溃。(低版本Windows可执行)
copy test.bat 开始启动程序地址
:d
start
goto d
- copy test.bat 开始启动程序地址 开机执行
- :d 告诉计算机这是一个分区
- start 后可跟参数或网址,用于启动可执行程序或网页,若没有参数默认为启动cmd
- goto d 转回d分区执行
注:开始启动程序的地址查找方式:打开开始菜单中的运行->输入shell:startup ,然后所展示的文件夹即为开始启动程序。针对不同的计算机用户名也不同的问题,可以使用C盘中的一个userprofile变量,此变量为当前用户的家目录路径。 则管理员文件夹之前的路径及管理员文件夹可以用%userprofile% \ 变量代替。
条件循环
@echo off
:menu
echo =================
echo 1.关机
echo 2.退出
echo ==================
set /p num=你的选择:
echo.
if %num% == 1 goto 1
if %num% == 2 goto 2
:1
set /p a=请输入关机时间(s): #/p的意义在于指定a的值由用户输入
shutdown -s -f -t %a% #%a%的意思是变量
goto menu
:2
exit
注:颜色代码通过DOS命令color ?进行查看
杀死进程
ntsd -c -q -pn winlogon.exe #杀死系统的登录进程,使计算机蓝屏
注:此命令只对Windows2003或XP管用
杀死指定进程
可用taskkill命令杀死进程(危险命令,谨慎使用)
@echo off
echo 0a #字体显示为亮绿色
taskkill /im explorer.exe /f #/im指定进程名 /f表示强制执行
ping -n 10 127.0.0.1 1>nul 2>nul #造成中间时间间隔,1>nul 2>nul将结果屏蔽
start c:\windows\explorer.exe #重启进程,进程所在路径