实验报告:
实验环境:win10家庭版
实验步骤:
启动CMD:win键+R键
文件/目录操作
cd 切换目录
例:cd // 显示当前目录
例:cd .. // 进入父目录
例:cd /d d: // 进入上次d盘所在的目录(或在直接输入:d:)
例:cd /d d:\ // 进入d盘根目录
例:cd d: // 显示上次d盘所在的目录
例:cd /d d:\src // 进入d:\src目录
例:cd prj\src\view // 进入当前目录下的prj\src\view文件夹
dir 显示目录中的内容
例:dir // 显示当前目录中的子文件夹与文件
例:dir /b // 只显示当前目录中的子文件夹与文件的文件名
例:dir /p // 分页显示当前目录中的子文件夹与文件
例:dir /ad // 显示当前目录中的子文件夹
例:dir /a-d // 显示当前目录中的文件
例:dir c:\test // 显示c:\test目录中的内容
例:dir keys.txt // 显示当前目录中keys.txt的信息
例:dir /S (按键ctrl+C终止当前命令) // 递归显示当前目录中的内容
例:dir key* // 显示当前目录下以key开头的文件和文件夹的信息
例:dir /AH /OS // 只显示当前目录中隐藏的文件和目录,并按照文件大小从小到大排序
tree 显示目录结构
例:tree d:\myfiles // 显示d:\myfiles目录结构
ren(rename) 文件或目录重命名
例:ren rec.txt rec.ini // 将当前目录下的rec.txt文件重命名为rec.ini
例:ren c:\test test_01 // 将c盘下的test文件夹重命名为test_01
md(make dir) 创建目录
例:md movie music // 在当前目录中创建名为movie和music的文件夹
例:md d:\test\movie // 创建d:\test\movie目录
rd (remove dir) 删除目录
例:rd movie // 删除当前目录下的movie空文件夹
例:rd /s /q d:\test // 使用安静模式删除d:\test(除目录本身外,还将删除指定目录下的所有子目录和文件)
copy 拷贝文件
例:copy key.txt c:\doc // 将当前目录下的key.txt拷贝到c:\doc下(若doc中也存在一个key.txt文件,会询问是否覆盖)
例:copy jobs c:\doc // 将当前目录下jobs文件夹中文件(不递归子目录)拷贝到c:\doc下(若doc中也存在相应的文件,会询问是否覆盖)
例:copy key.txt c:\doc\key_bak.txt // 将当前目录下的key.txt拷贝到c:\doc下,并重命名为key_bak.txt(若doc中也存在一个key_bak.txt文件,会询问是否覆盖)
例:copy /Y key.txt c:\doc // 将当前目录下的key.txt拷贝到c:\doc下(不询问,直接覆盖写)
例:copy key.txt + // 复制文件到自己,实际上是修改了文件日期
例:copy /Y key1.txt + key2.txt key.txt // 将当前目录下的key1.txt与key2.txt的内容合并写入key.txt中(不询问,直接覆盖写
例:copy /B art_2.7z.* art_2.7z // 将当前目录下的art_2.7z.开头的所有文件(按照名称升序排序)依次合并生成art_2.7z
例:copy /B art_2.7z.001+art_2.7z.002 art_2.7z // 将当前目录下的art_2.7z.001、art_2.7z.002文件合并生成art_2.7z
move 移动文件
例:move *.png test // 将当前目录下的png图片移动到当前目录下test文件夹中 (若test中也存在同名的png图片,会询问是否覆盖)
例:move /Y *.png test // 将当前目录下的png图片移动到当前目录下test文件夹中 (不询问,直接覆盖写)
例:move 1.png d:\test\2.png // 将当前目录下的1.png移动到d盘test文件夹中,并重命名为2.png (若test中也存在同名的png图片,会询问是否覆盖)
例:move test d:\new // 若d盘中存在new文件夹,将当前目录下的test文件夹移动到d盘new文件夹中;若不存在,将当前目录下的test文件夹移动到d盘,并重命名为new
del 删除文件 注意:目录及子目录都不会删除
例:del test // 删除当前目录下的test文件夹中的所有非只读文件(子目录下的文件不删除;删除前会进行确认;等价于del test\*)
例:del /f test // 删除当前目录下的test文件夹中的所有文件(含只读文件;子目录下的文件不删除;删除前会进行确认;等价于del /f test\*)
例:del /f /s /q test d:\test2\*.doc // 删除当前目录下的test文件夹中所有文件及d:\test2中所有doc文件(含只读文件;递归子目录下的文件;删除前不确认)
2、文件查看
type 显示文本文件内容
例:type c:\11.txt // 显示c盘中11.txt的文本内容
例:type conf.ini // 显示当前目录下conf.ini的文本内容
例:type c:\11.txt | more // 分页显示c盘中11.txt的文本内容
more 逐屏的显示文本文件内容
例:more conf.ini // 逐屏的显示当前目录下conf.ini的文本内容 【空格:下一屏 q:退出 】
3、特殊符号
& 顺序执行多条命令,而不管命令是否执行成功
例:cd /d d:\src & work.exe // 先将当前工作目录切换到d:\src下,然后执行work.exe命令
&& 顺序执行多条命令,当碰到执行出错的命令后将不执行后面的命令
例:find "ok" c:\test.txt && echo 成功 // 如果找到了"ok"字样,就显示"成功",找不到就不显示
|| 顺序执行多条命令,当碰到执行正确的命令后将不执行后面的命令
例:find "ok" c:\test.txt || echo 不成功 // 如果找不到"ok"字样,就显示"不成功",找到了就不显示
, 在某些特殊的情况下可以用来代替空格使用
例:dir,c:\ // 相当于:dir c:\
; 当命令相同的时候,可以将不同的目标用;隔离开来但执行效果不变。如执行过程中发生错误则只返回错误报告但程序还是会继续执行
例:dir c:\;d:\;e:\ // 相当于顺序执行:dir c:\ dir d:\ dir e:\
4、输出
echo. // 输出一个"回车换行",空白行
echo off // 后续所有命令在执行前,不打印出命令的内容
echo on // 后续所有命令在执行前,打印出命令的内容
echo 123 // 输出123到终端屏幕
echo "Hello World!!!" // 输出Hello World!!!到终端屏幕
echo test > p1.txt // 输出test的字符串到当前目录中的p1.txt文件中(以覆盖的方式)
5、文本处理
find 文件中搜索字符串
例:find /N /I "pid" 1.txt // 在1.txt文件中忽略大小写查找pid字符串,并带行号显示查找后的结果
例:find /C "exe" 1.txt // 只显示在1.txt文件中查找到exe字符串的次数
例:find /V "exe" 1.txt // 显示未包含1.txt文件中未包含exe字符串的行
findstr 文件中搜索字符串
例:findstr "hello world" 1.txt // 在1.txt文件中搜索hello或world
例:findstr /c:"hello world" 1.txt // 在1.txt文件中搜索hello world
例:findstr /c:"hello world" 1.txt nul // 在1.txt文件中搜索hello world,并在每行结果前打印出1.txt: 注:findstr只有在2个及以上文件中搜索字符串时才会打印出每个文件的文件名,nul表示一个空文件
例:findstr /s /i "Hello" *.* // 不区分大小写,在当前目录和所有子目录中的所有文件中的hello
6、网络操作
ping // 用于检测网络是否通畅,以及网络时延情况(工作在ICMP协议上)
例:ping baidu.com // 测试与baidu服务器的连接情况
例:ping chen-pc0 // 测试机器名为chen-pc0的连接情况
例:ping 220.181.111.86 // 测试与ip为220.181.111.86的连接情况
例:ping -l[L] 65500 -n 10 qq.com // 向qq.com发送10次65500字节的ping
例:ping -n 6 127.0.0.1 // 对当前主机执行6次ping操作(花费时间为5s)
例:ping -t baidu.com // 不断地测试baidu服务器的连接情况 【Ctrl+Pause Break:查看ping的统计信息;Ctrl+C:终止当前任务】
ipconfig /all // 查看本地ip地址等详细信息
ipconfig /displaydns // 显示本地dns缓存的内容
ipconfig /flushdns // 清除本地dns缓存的内容
nslookup www.cnblogs.com // 获取www.cnblogs.com的域名解析
netstat -a // 查看开启了哪些端口
netstat -n // 查看端口的网络连接情况
netstat -v // 查看正在进行的工作
netstat -p tcp // 查看tcp协议的使用情况
tracert 182.140.167.44 // 查看本机到达182.140.167.44的路由路径
route print // 显示出IP路由
telnet 182.140.167.44 8000 // 探测182.140.167.44是否使用TCP协议监听8000端口(注意:telnet命令不支持UDP端口检测)
7、进程操作
tasklist // 显示当前运行的进程信息(可查看PID)
taskkill 结束指定的进程
例:taskkill /im notepad.exe // 结束名为notepad.exe的进程
例:taskkill /pid 1230 /pid 1241 /pid 1253 /t // 结束pid为1230、1241和1253的进程以及由它们启动起来的子进程
例:taskkill /f /im cmd.exe /t // 强制结束有名为cmd.exe的进程以及由它启动起来的子进程
8、用户操作
net user // 查看当前机器上的用户
net user Administrator // 查看当前机器上的Administrator用户的信息
net user Guest /active:yes // 启用Guest用户
net user dev 123456 /add // 新建一个名为dev,密码为123456的用户
net localgroup administrators dev /add // 把名为dev的用户添加到管理员用户组中,使其具有管理员权限
net user dev /del // 删除名为dev的用户
9、其他基本操作
cls 清除屏幕
ver 显示当前windows系统的版本号
winver 弹框显示当前windows系统信息
vol 显示当前分区的卷标
label 显示当前分区的卷标,同时提示输入新卷标
label c:system 设置c盘的卷标为system
time 显示或设置当前时间
例:time /t // 显示当前时间
例:time // 设置新的当前时间(格式:hh:mm:ss),直接回车则表示放弃设置
date 显示或设置当前日期
例:date /t // 显示当前日期
例:date // 设置新的当前日期(格式:YYYY/MM/DD),直接回车则表示放弃设置
start 运行某程序或命令
例:start /max notepad.exe // 最大化的方式启动记事本
例:start /min calc.exe // 最小化的方式启动计算器
例:start /min d:\Proxifier.exe // 最小化的方式启动Proxifier代理工具
例:start tasklist // 启动一个cmd实例窗口,并运行tasklist
例:start explorer f:\ // 调用资源管理器打开f盘
例:strat iexplore "www.qq.com" // 启动ie并打开www.qq.com网址
例:start ff.bat // 启动开始执行ff.bat(启动ff.bat脚本后,原脚本继续执行,不会等ff.bat脚本执行完)
exit 退出当前cmd窗口实例
color 设置当前cmd窗口背景色和前景色(前景色即为字体的颜色)
例:color // 恢复到缺省设置
例:color 02 // 将背景色设为黑色,将字体设为绿色
shutdown 关闭、重启、注销、休眠计算机
例:shutdown /s // 关闭计算机
例:shutdown /s /t 3600 // 一小时后,关闭本地计算机
例:shutdown /a // 终止系统关闭
例:shutdown /r // 关闭并重启本地计算机
例:shutdown /m 192.168.1.166 /r // 关闭并重启ip为192.168.1.166的计算机
例:shutdown /g // 关闭并重启计算机,重启后重新启动所有注册的应用程序
例:shutdown /l // 注销本地计算机
例:shutdown /h /f // 休眠本地计算机(强制正在运行的应用程序关闭,不前台警告用户)