Windows CMD/DOS命令,批处理


0. 写在前面

DOS命令有很多,这里记录一下平常中使用比较频繁的,一篇文章肯定不能包含所有的命令,要想学好CMD命令和批处理,务必善用 CMD帮助信息

1. 常用的CMD命令

1.1 设置变量命令set

  1. 定义
    set: 显示、设置或删除 CMD.exe 环境变量

  2. 用法示例:

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 设置是否正确

  • 常见用法:
  1. 显示本地计算机详细网络连接情况,如:IP地址、子网掩码、DNS配置、DHCP配置等
ipconfig /all
  1. 解决简单的网络故障(前两个适用于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 管理本地用户

  • 常用命令:
  1. 用户操作命令
net user		# 查看当前计算机有哪些用户
net user test /add		# 添加一个名为 test 的用户
net user test /delete	# 删除名为test的用户
  1. 用户组操作命令
net localgroup Administrators test /add		# 将test用户加入管理员组
net localgroup Administrators test /del		# 将test用户移出管理员组
net localgroup users test /del				# 将test用户移出users组

1.10.2 网络环境管理

  • 常用命令:
  1. 文件共享相关命令
net share		# 查看共享
net share test=D:\test	# 共享 D 盘下的test文件夹,等号左边是共享名,右边是共享文件夹位置
net share test \del		# 取消名为 test 的共享
net view \\主机名			# 查看特定主机共享
  1. 服务相关命令
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 命令时,指定变量需要用双百分号。

  • 介绍几种常用的格式:
  1. 遍历目录
for /D %%variable IN (set) DO Command [command-parameters]

**说明:**如果set集中包含通配符,则指定与目录名匹配,而不与文件名匹配

  1. 遍历数字序列
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

  1. 遍历文件
for /R [[drive:]path] %%variable IN (set) DO command [command-parameters]

**说明:**如果在 /R 后没有指定完整路径,则使用当前目录。

  1. 遍历文件内容
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

本文同步发布于:
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习是一种人工智能(AI)的子领域,致力于研究如何利用数据和算法让计算机系统具备学习能力,从而能够自动地完成特定任务或者改进自身性能。机器学习的核心思想是让计算机系统通过学习数据中的模式和规律来实现目标,而不需要显式地编程。 机器学习应用非常广泛,包括但不限于以下领域: 图像识别和计算机视觉: 机器学习在图像识别、目标检测、人脸识别、图像分割等方面有着广泛的应用。例如,通过深度学习技术,可以训练神经网络来识别图像中的对象、人脸或者场景,用于智能监控、自动驾驶、医学影像分析等领域。 自然语言处理: 机器学习在自然语言处理领域有着重要的应用,包括文本分类、情感分析、机器翻译、语音识别等。例如,通过深度学习模型,可以训练神经网络来理解和生成自然语言,用于智能客服、智能助手、机器翻译等场景。 推荐系统: 推荐系统利用机器学习算法分析用户的行为和偏好,为用户推荐个性化的产品或服务。例如,电商网站可以利用机器学习算法分析用户的购买历史和浏览行为,向用户推荐感兴趣的商品。 预测和预测分析: 机器学习可以用于预测未来事件的发生概率或者趋势。例如,金融领域可以利用机器学习算法进行股票价格预测、信用评分、欺诈检测等。 医疗诊断和生物信息学: 机器学习在医疗诊断、药物研发、基因组学等领域有着重要的应用。例如,可以利用机器学习算法分析医学影像数据进行疾病诊断,或者利用机器学习算法分析基因数据进行疾病风险预测。 智能交通和物联网: 机器学习可以应用于智能交通系统、智能城市管理和物联网等领域。例如,可以利用机器学习算法分析交通数据优化交通流量,或者利用机器学习算法分析传感器数据监测设备状态。 以上仅是机器学习应用的一部分,随着机器学习技术的不断发展和应用场景的不断拓展,机器学习在各个领域都有着重要的应用价值,并且正在改变我们的生活和工作方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值