概述
文章目录
- 0. 写在前面
- 1. 常用的CMD命令
- 1.1 设置变量命令set
- 1.2 自定义DOS窗口color、title
- 1.3 网络连接相关
- 1.3.1 ping 命令
- 1.3.2 telnet 命令
- 1.3.3 网络适配器命令 ipconfig(修复--设置层面)
- 1.3.4 路由信息查看--tracert
- 1.4 Start 运行命令
- 1.5 call 调用命令
- 1.6 sort 排序命令
- 1.7 特殊字符
- 1.8 slmgr 激活系统
- 1.9 netstat 网络管理命令
- 1.10 net 网络命令
- 1.10.1 管理本地用户
- 1.10.2 网络环境管理
- 1.11 netsh网络配置命令行工具
- 1.11.1 netsh 基本概念及常见用法
- 1.11.2 netsh 修复网络故障(协议层面)
- 1.11.3 netsh 端口设置
- 1.11.4 netsh 获取wifi密码
- 1.12 tree文件夹结构查看
- 1.13 计划任务命令schtasks
- 1.14 文件夹或文件相关命令
- 2. 批处理
- 2.1 批处理基本格式
- 2.2 goto跳转命令
- 2.3 重定向
- 2.4 条件判断结构 if-else
- 2.5 循环结构
0. 写在前面
DOS
命令有很多,这里记录一下平常中使用比较频繁的,一篇文章肯定不能包含所有的命令,要想学好CMD命令和批处理,务必善用 CMD帮助信息!
1. 常用的CMD命令
1.1 设置变量命令set
-
定义
set
: 显示、设置或删除 CMD.exe 环境变量 -
用法示例:
set /? # 帮助信息
set # 显示当前环境变量及其值
set xx # 显示以 str 打头的环境变量及其值,xx表示环境变量名称
set 变量=值 # 设置/修改环境变量
set 变量= # 等于号之后跟一个空格表示清空环境变量
set /a # 后跟表达式,进行表达式运算
set /p 变量=指定字符串 # 接收用户输入
1.2 自定义DOS窗口color、title
title # 改变窗口标题
mode # 改变窗口大小
color[背景][字体] # 改变背景和字体颜色
1.3 网络连接相关
1.3.1 ping 命令
ping
(Packet Internet Groper)是一种因特网包探索器,用于测试网络连接量的程序。Ping是工作在 TCP/IP
网络体系结构中应用层的一个服务命令,主要是想特定的目的主机发送 ICMP
(Internet Control Protocol因特网报文控制协议)Echo请求报文,测试目的站是否可达及了解其有关状态。
最常用的是用来测试网络是否连通,比如:
ping www.baidu.com # 向百度发送数据包,并回显在DOS窗口
获取更多 ping
命令的用法可键入ping /?
1.3.2 telnet 命令
telnet
:就是查看某个端口是否可以访问。因为该命令属于远程登陆命令,黑客经常使用它开启特定端口进行攻击,所以Windows默认不开启该功能,在控制面板可以开启此功能。
- 用法与示例:
telnet www.baidu.com 80 # 查看域名www.baidu.com 80 端口是否开放
1.3.3 网络适配器命令 ipconfig(修复–设置层面)
ipconfig
:可用于显示当前的 TCP/IP
配置的设置值。这些信息一般用来检验人工配置的TCP/IP
设置是否正确
- 常见用法:
- 显示本地计算机详细网络连接情况,如:IP地址、子网掩码、DNS配置、DHCP配置等
ipconfig /all
- 解决简单的网络故障(前两个适用于IP地址非静态分配的网卡):
ipconfig /release # 释放IP
ipconfig /renew # 重新获取IP
ipconfig /flushdns # 刷新DNS
1.3.4 路由信息查看–tracert
Def:使用tracert命令可以用于确定IP数据包访问目标时所选择的路径。Tracert
命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。
- 示例:
tracert www.baidu.com # 将探测到目标主机百度的路由。
1.4 Start 运行命令
Def: 启动一个单独的窗口一运行指定程序或命令,可以在命令行下运行一个程序,可用于打开盘符、文件、文件夹、网址、程序等
- 示例:
start D: # 打开 D 盘
start /max D: # 以最大化窗口打开 D 盘
start /min D: # 以最小化窗口打开 D 盘
start D:demo.bat # 打开文件
start www.baidu.com # 打开网址
注意: 如果文件夹名字有空格,需要加上双引号,比如:
start "" "Program Files" # 打开带空格的文件夹需遵循这样的格式书写
1.5 call 调用命令
Def: 程序的互相调用,这是个非常重要的命令
- 示例:
@echo off
call demo.bat # 如果被引用的文件与当前主程序不在同一目录,则需要填写被引用文件的完整路径
echo 引用完成
pause
1.6 sort 排序命令
sort命令可对文件内容进行排序
- 示例:
sort demo.txt # 对文件内容进行排序,不改变源文件
sort /+3 demo.txt # 对第三个字母进行升序排列,不改变源文件
sort demo.txt > demo1.txt # 重定向,在当前目录保存排序后的文件,类似于/o参数
1.7 特殊字符
符号 | 名称 | 说明 |
---|---|---|
| | 命令管道符 | 将第一条命令的结果作为第二条命令的参数来使用 |
& | 组合命令 | 不管前面命令执行情况如何,后边的命令继续执行 |
&& | 组合命令 | 当第一个命令失败时,后面的命令不会执行 |
|| | 组合命令 | 只有第一条命令失败时,才会执行第二条 |
- 示例:
dir F: | find "it" # 在 dir 结果中查找与 it 相关的文件或者文件夹
1.8 slmgr 激活系统
slmgr
:Windows软件授权管理工具
- 常用的参数有:
slmgr /dli # 查看较为简略的系统激活信息
slmgr /dlv # 显示详细的系统激活信息
slmgr /xpr # 查看简略的系统激活信息
slmgr /upk # 卸载产品密钥
slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX # 安装或者替换密钥
slmgr /ato # 开始利用安装的秘钥尝试在线激活Windows
1.9 netstat 网络管理命令
netstat
:显示协议统计信息和当前 TCP/IP 网络连接
- 常用参数:
-a # 显示所有连接和侦听端口
-n # 以数字形式显示地址和端口号
-o # 显示拥有的与每个连接关联的进程 ID
- 实际应用:查询端口被哪个进程占用
涉及到的命令:
netstat # 查询 TCP/IP 连接命令
tasklist # 列举任务进程
taskkill # 杀死任务进程
taskmgr # 打开任务管理器
- 实际操作:
# step1:显示所有连接和侦听端口
netstat -ano
# step2:我这里选择查看外部端口80的信息,会回显“TCP 192.168.16.55:1049 123.15.172.17:80 ESTABLISHED 8208”
netstat -ano | findstr 1049
# step 3:根据进程ID查找相应的任务进程
tasklist | findstr 8208
1.10 net 网络命令
net
:包含了管理网络环境、服务、用户、登陆等重要的管理功能。通过改命令,可以轻松的管理本地或者远程计算机的网络环境,以及各种服务程序的运行和配置,或者进行用户管理和登陆管理等。
1.10.1 管理本地用户
- 常用命令:
- 用户操作命令
net user # 查看当前计算机有哪些用户
net user test /add # 添加一个名为 test 的用户
net user test /delete # 删除名为test的用户
- 用户组操作命令
net localgroup Administrators test /add # 将test用户加入管理员组
net localgroup Administrators test /del # 将test用户移出管理员组
net localgroup users test /del # 将test用户移出users组
1.10.2 网络环境管理
- 常用命令:
- 文件共享相关命令
net share # 查看共享
net share test=D:test # 共享 D 盘下的test文件夹,等号左边是共享名,右边是共享文件夹位置
net share test del # 取消名为 test 的共享
net view \主机名 # 查看特定主机共享
- 服务相关命令
net start 服务 # 开启服务
net stop 服务 # 关闭服务
1.11 netsh网络配置命令行工具
1.11.1 netsh 基本概念及常见用法
netsh
:netsh(Network Shell)是一个Windows系统本身提供的功能强大的网络配置工具,可以用来修改Windows的IP、网关、DNS等信息
- 常见用法:
#----对网络配置进行备份----#
netsh dump > 路径
#--在配置IP之前需要先进入IP设置环境
netsh # 进入netsh环境
int ip # 进入IP设置界面,之后就可以进行设置ip
# 设置静态IP
set address name="WLAN" source=static addr=192.168.16.55 mask=255.255.255.0 gateway=192.168.16.6 gwmetric=1
# 设置自动获取IP
set address name="WLAN" source=DHCP
1.11.2 netsh 修复网络故障(协议层面)
-常用命令:
netsh winsock reset
该命令作用是重置 Winsock目录。如果计算机 Winsock协议配置有问题的话将导致网络连接等问题,通过重置 Winsock目录 以恢复网络。这个命令可以重新初始化网络环境,以解决由于软件冲突、病毒原因造成的参数错误问题。
net int ip reset C:resetlog.txt # 最后是重置TCP/IP的日志文件存放位置
该命令将重置TCP/IP
,相当于卸载并重TCP/IP协议,使其恢复到初次安装操作系统时的状态。
1.11.3 netsh 端口设置
netsh
命令的子参数中有两个命令是防火墙相关的:
firewall # 防火墙的简单模式
advfirewall # 防火墙配置的高级模式
- 开启3389端口
netsh firewall set portopening TCP 3389 ENABLE
- 关闭3389端口
net firewall delete portopening TCP 3389
- 新建/删除一个入站规则,dir=in表示入站规则,in换成out表示出站规则,协议采用TCP
net advfirewall firewall add rule name=baidujingyan dir=in action=allow protocol=TCP localport=3389
netsh advfirewall firewall delete rule name=test protocol=TCP localport=3389
1.11.4 netsh 获取wifi密码
**注意:**获取wifi密码前提是想要获取密码的 wifi 曾经有连接过
# 查看当前系统已经保存的网络
netsh wlan show profiles
# 查看指定的WiFi名称的详细信息
netsh wlan show profiles name="ssid" key=clear
1.12 tree文件夹结构查看
tree
:以图形显示驱动器或路径的文件夹结构
- 参数:
/F # 显示每个文件夹中文件的名称
/A # 使用 ASCII 字符,而不是用扩展字符
1.13 计划任务命令schtasks
Def:允许管理员创建、删除、查询、更改、运行和中止本地或远程系统上的计划任务
CMD环境键入schtask /?
查看更多。
1.14 文件夹或文件相关命令
命令 | 作用 |
---|---|
dir | 显示目录中的文件和子目录列表 |
mkdir、rmdir | 新建目录和删除目录 |
ren(rename) | 用于重命名目录或文件,rename的缩写,格式:rename filename1 filename2 |
copy | 将一份文件或多份文件复制到另一个位置 |
del | 删除文件或目录 |
move | 可用于移动、重命名文件或目录 |
exist | 常用在判断语句中,判断是否存在某个文件 |
2. 批处理
2.1 批处理基本格式
批处理采取的是顺序处理的方式一条一条地去执行各项命令。因此学会了CMD命令再将想要的功能组成一个批处理文件就可以实现相应的功能。
以屏幕打印Hello World
为例说明批处理中的一些基本命令:
@echo off # 关闭回显,命令行窗口不会显示我们写好的命令
rem 该行是注释 # 注释行,解释说明,rem也可换成"::"
echo Hello World # echo 打印,后接字符串或者变量(变量名需要用%围起来)
set /p test=提示性文字 # 获取用户输入,等号左边是变量名字,等号右边是提示性文字
echo %test% # 打印变量test的值
exit # 在该处退出命令环境,之后的命令将不再执行
pause # 暂停,使命令结束时窗口不立马关闭,缺少的话命令一结束dos窗口就会立刻关闭
2.2 goto跳转命令
goto
命令主要是进行跳转的作用:
@echo off
rem 以下是代码主体部分
echo Hello World
goto part1 # 前往名为"part1"的标签
:part1 # 用":"打头设置一个标签
echo I am ready to exit!
pause
2.3 重定向
Def: 顾名思义,重定向就是将命令运行的结果或者一些数据流重新定位到其他的位置
- 重定向主要操作符
> # 使用该操作符只会保留最新的内容,会覆盖原来的内容
>> # 不会覆盖之前已经保存的内容,而是在文件尾追加新的内容
< # 从文件中读取内容到屏幕上
<< # 右边的内容追加到左边
type # 查看文件内容
- 示例
ping www.baidu.com > D:test.txt # 把结果重定到D盘的test.txt文件中
type test.txt # 查看文件内容
sort < demo.txt # 读取文件内容并排序,将排序结果打印在屏幕上
-
句柄的数字代码描述
0:键盘输入;1:输出到命令提示符窗口;2:错误输出 -
如下所示如果
di
命令运行成功就重定向right.txt
,否则将重定向于error.log
:
di > right.txt 2> error.log
2.4 条件判断结构 if-else
- 演示demo.bat:
@echo off
rem 演示if-else结构判断字符串是否为规定的字符串
set /p str=please enter "Hello":
if %str%==Hello (echo OK) else (echo No)
pause
**提示:**如果if-else中的语句太长可以采用以下格式
if 条件判断语句 (
条件满足所执行的语句:
语句1
语句2
) else (
条件不满住所执行的语句:
语句1
语句2
)
2.5 循环结构
for %%variable IN (set) DO command [command-parameters]
说明:
%%variable
: 指定一个单一字母可替换的参数,26字母可任意使用,且区分大小写
(set)
: 指定一个或一组文件。可以使用通配符
command
: 指定对每个文件执行的命令
command-parameters
: 为特定命令指定参数或命令行开关
**注意:**批处理程序中使用 FOR 命令时,指定变量需要用双百分号。
- 介绍几种常用的格式:
- 遍历目录
for /D %%variable IN (set) DO Command [command-parameters]
**说明:**如果set集中包含通配符,则指定与目录名匹配,而不与文件名匹配
- 遍历数字序列
for /L %%variable IN (start,step,end) DO command [command-parameters]
说明:(start,step,end)表示以增量形式从开始到结束的一个数字序列。比如
(1,1,5)将产生序列1 2 3 4 5;(5,-1,1)将产生序列5 4 3 2 1
- 遍历文件
for /R [[drive:]path] %%variable IN (set) DO command [command-parameters]
**说明:**如果在 /R 后没有指定完整路径,则使用当前目录。
- 遍历文件内容
for /F ["options"] %%variable IN (file-set) DO command [command-parameters]
for /F ["options"] %%variable IN ("string") DO command [command-parameters]
for /F ["options"] %%variable IN ('command') DO command [command-parameters]
说明: fileset
为一个或多个文件名。继续到 fileset 中的下一个文件之前,每份文件都被打开、读取并经过处理。处理包括读取文件,将其分成一行行的文字每份文件都被打开、读取并经过处理。处理包括读取文件,将其分成一行行的文字,然后将每行解析成零或更多的符号。键入for /?
查看options
内容。
- 示例:
@echo off
rem 遍历目录(文件夹名称)
for /d %%f in (*) do if %%f==test (rd %%f)
for /d %%f in (*) do echo %%f
pause > nul
@echo off
rem 遍历目录和子目录文件
for /r "D:project" %%f in (*.py) do (echo %%f)
pause > nul
@echo off
rem 遍历数字
for /L %%n in (1,1,20) do (echo %%n)
pause
。继续到 fileset 中的下一个文件之前,每份文件都被打开、读取并经过处理。处理包括读取文件,将其分成一行行的文字每份文件都被打开、读取并经过处理。处理包括读取文件,将其分成一行行的文字,然后将每行解析成零或更多的符号。键入for /?
查看options
内容。
- 示例:
@echo off
rem 遍历目录(文件夹名称)
for /d %%f in (*) do if %%f==test (rd %%f)
for /d %%f in (*) do echo %%f
pause > nul
@echo off
rem 遍历目录和子目录文件
for /r "D:project" %%f in (*.py) do (echo %%f)
pause > nul
@echo off
rem 遍历数字
for /L %%n in (1,1,20) do (echo %%n)
pause
本文同步发布于:
最后
以上就是成就方盒为你收集整理的Windows CMD/DOS命令,批处理0. 写在前面1. 常用的CMD命令2. 批处理的全部内容,希望文章能够帮你解决Windows CMD/DOS命令,批处理0. 写在前面1. 常用的CMD命令2. 批处理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复