CMD命令笔记总结

时间:2022-07-22
本文章向大家介绍CMD命令笔记总结,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一、cmd 是什么?

cmd就是在运行在windows系统下的一个命令行窗口,可以通过Win+R打开运行框,输入cmd后回车即可打开。

cmd同linux下的命令行一样,具有包括文件管理,网络操作,文本查看,进程操作在内的强大操作能力。虽然不计linux下的命令行,但是在windows下有些命令还是能帮助我们解决一些问题,提高效率的。

二、常用命令

cd 进入文件目录

dir 列出目录文件

/A          显示具有指定属性的文件。
  属性         D  目录                R  只读文件
               H  隐藏文件            A  准备存档的文件
               S  系统文件            I  无内容索引文件
               L  解析点             -  表示“否”的前缀
  /B          使用空格式(没有标题信息或摘要)。
  /C          在文件大小中显示千位数分隔符。这是默认值。用 /-C 来
              禁用分隔符显示。
  /D          跟宽式相同,但文件是按栏分类列出的。
  /L          用小写。
  /N          新的长列表格式,其中文件名在最右边。
  /O          用分类顺序列出文件。
  排列顺序     N  按名称(字母顺序)     S  按大小(从小到大)
               E  按扩展名(字母顺序)   D  按日期/时间(从先到后)
               G  组目录优先           -  反转顺序的前缀
  /P          在每个信息屏幕后暂停。
  /Q          显示文件所有者。
  /R          显示文件的备用数据流。
  /S          显示指定目录和所有子目录中的文件。
  /T          控制显示或用来分类的时间字符域。
  时间段      C  创建时间
              A  上次访问时间
              W  上次写入的时间
  /W          用宽列表格式。
  /X          显示为非 8.3 文件名产生的短名称。格式是 /N 的格式,
              短名称插在长名称前面。如果没有短名称,在其位置则
              显示空白。
  /4          用四位数字显示年
  • 常用命令
  1. 递归列出该路径下doc结尾的文件

dir /s /b *.doc

  1. 查看本地路径下存在目录

dir /aD

  • copy 复制文件
  • xcopy 复制目录
  • move 剪切
  • ren 重命名
  • replace 替换
replace /a 路径一 路径二  # 把文件添加到新地方,类似复制

自定义cmd界面

title 重名命cmd名称

title this is test

mode 设置窗口大小(宽,高)

mode 100,50

colour 设置cmd的背景和字体颜色

0 = 黑色       8 = 灰色
1 = 蓝色       9 = 淡蓝色
2 = 绿色       A = 淡绿色
3 = 浅绿色     B = 淡浅绿色
4 = 红色       C = 淡红色
5 = 紫色       D = 淡紫色
6 = 黄色       E = 淡黄色
7 = 白色       F = 亮白色

"COLOR fc" # 在亮白色上产生淡红色

变量

  1. 设置变量,以name变量为例

set name=xxx

  1. 打印变量

set name

  1. 释放变量

set name=

常用参数

  • set /a 表达式

set /a var name=4/2

  • set /p 命令行开关允许将变量数值设成用户输入的一行输入
@echo off
set /p name=请输入一个数字
echo 你输入的数字是:%name%
pause >nul

永久变量设置

setx path "%path%;文件夹目录"

特殊字符

  • | 管道符号
  • & 类似and
  • && 前面执行成功才执行后面
  • || 前面执行失败才执行后面
  • () 为了隔开美观
# dir执行成功打印sucess 否则fales
dir && echo sucess || echo false

通配符

  • ? 代表单个字符

dir /b ??.mp4 # 列出两个字符名称的mp4文件

  • * 代表全部

dir /b *.mp4 # 列出所有mp4文件

逻辑结构

if语法格式

  1. 判断文件或者文件夹是否存在, 用if exist语句

if exsit f:1.txt (echo sucess) else (echo false)

  1. 判断某两个字符串是否相等。用if "字符串1" == “字符串2” 语句

if "1"=="1" (echo sucess) else (echo false)

  1. 判断某个变量是否已经被赋值,用if defined str 语句

if defined name (echo succse)

  1. 判断两个数值是否相等,if 数值1 equ 数值2 语句

if 2 gtr 1 (echo sucess)

  • 条件符
  • 等于 equ equal
  • 大于 gtr greater than
  • 大于或等于 geq
  • 小于 less less than
  • 小于或等于 leq
  • 不等于 neq

for语法格式

FOR %variable IN (set) DO command [command-parameters]

  %variable  指定一个单一字母可替换的参数。
  (set)      指定一个或一组文件。可以使用通配符。
  command    指定对每个文件执行的命令。
  command-parameters
             为特定命令指定参数或命令行开关。

在批处理程序中使用 FOR 命令时,指定变量请使用 %%variable
而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I.

如果启用命令扩展,则会支持下列 FOR 命令的其他格式:

FOR /D %variable IN (set) DO command [command-parameters]

    如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。

FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]

    检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。
    如果在 /R 后没有指定目录规范,则使用当前目录。如果集仅为一个单点(.)字符,
    则枚举该目录树。

FOR /L %variable IN (start,step,end) DO command [command-parameters]
该集表示以增量形式从开始到结束的一个数字序列。因此,(1,1,5)将产生序列
    1 2 3 4 5,(5,-1,1)将产生序列(5 4 3 2 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]

    或者,如果有 usebackq 选项:

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 循环。
    以默认方式,/F 通过每个文件的每一行中分开的第一个空白符号。跳过空白行。
    你可通过指定可选 "options" 参数替代默认解析操作。这个带引号的字符串包括一个
    或多个指定不同解析选项的关键字。这些关键字为:

        eol=c           - 指一个行注释字符的结尾(就一个)
        skip=n          - 指在文件开始时忽略的行数。
        delims=xxx      - 指分隔符集。这个替换了空格和制表符的
                          默认分隔符集。
        tokens=x,y,m-n  - 指每行的哪一个符号被传递到每个迭代
                          的 for 本身。这会导致额外变量名称的分配。m-n
                          格式为一个范围。通过 nth 符号指定 mth。如果
                          符号字符串中的最后一个字符星号,
                          那么额外的变量将在最后一个符号解析之后
  1. 查看当前文件下的目录文件

for /d %i in (*) do echo %i

  1. 从指定文件中以空格分开,第二列后打开输出每行内容

for /F "token=2-3,delims=" %i in (e:1.txt) do echo %i

重定向操作符

> 输出>> 增加输出< 输入

句柄的数字代码描述

  • 0:键盘输入
  • 1:输出到命令提示符窗口
  • 2:错误输出

di >right.txt 2>error.txt # 如果错误就输出到error.txt中去

网络命令

ping

ping host -t # 一直ping
ping host -n count # 发送包量

ifconfig

ipconfig /all # 查看所有网络配置信息
ipconfig /renew # 更新所有适配器,重新获取ip
ipconfig /release # 释放ip
ipconfig /flushdns # 刷新dns

netstat 显示当前网络协议连接情况

netstat -ano # 查看当前连接情况

net

  1. net user # 查看用户信息
  2. lusrmgr.msc # 图形用户管理
  3. net localgroup # 本地用户组管理
  4. net share

net share f=F:/ 共享F盘 net share f /delete 取消共享 net start + 服务 # 开启服务

netsh

netsh dump > 路径 # 备份所有的网络设置

netsh int ip # 查看网卡设置 set address name="wlan" source=static addr=192.168.0.2 mask=255.255.255.0 gateway=192.168.0.1 # 设置静态ip set address name="wlan" source=dhcp # 自动获取ip

netsh winsock reset # 重新安装网络协议ping本地不通时

netsh firewall set opmode mode=enable # 开启防火墙

netsh wlan show profiles # 查看当前系统已经保存的网络

netsh wlan show profiles name="ssid" key=clear | findstr 关键内容# 查看某个ssid的信息其中含密码

高级命令

attrib

type nul>1.txt # 创建空文件 attrib +h 1.txt # 将文件设置为隐藏

goto 跳转函数

goto part1

:part1
echo test
exit

call 调用程序

call demo.bat

start 打开程序

net use IPC

  1. 建立空连接

net use IPipc$ "" /user:""

  1. 建立非空连接

net use IPipc$ "用户名" /user:"密码"

  1. 映射默认默认共享,将对方c盘映射本地z盘

net use z: IPc$ "密码" /user:"用户名"

  1. 删除一个IPC$连接

net use IPipc$ /del

  1. 删除共享映射

net use c: /del

reg 增删改查注册表命令(regedit是图形表)

REG Operation [Parameter List]

  Operation  [ QUERY   | ADD    | DELETE  | COPY    |
               SAVE    | LOAD   | UNLOAD  | RESTORE |
               COMPARE | EXPORT | IMPORT  | FLAGS ]

案例

  1. 在内网ping查找存活主机

for /l %%i in (1,1,255) do ping -n 1 192.168.0.%i | findstr 字节 >> iplist.txt

  1. 批量创建文件或文件夹

for /l %%i in (1,1,100) do md 新建文件夹%i

  1. 批量找出特定后缀的文件名

for /r f: %i in (*.txt) do echo %%i

  1. 在文件中检索关键字
@echo off
title 
:start
set /p name=请输入你要搜索的内容:
type test.txt | findstr %name%
if %name%==exit (goto end) else (goto start)
:end
exit
pause >nul
  1. 设置ip

netsh interface ip set address name="wlan" source=static addr=x mask=x gateway=x 1

查看基本信息

命令

功能

winver

系统信息

gpedit.msc

–组策略

regedit.exe

-注册表

eventvwr

事件查看器

lusrmgr.msc

用户组查看器

services.msc

本地服务设置

devmgmt.msc

设备管理器

compmgmt.msc

计算机管理

diskmgmt.msc

磁盘管理实用程序

常用工具

命令

功能

regedt32

-注册表编辑器

calc

启动计算器

taskmgr

–任务管理器(2000/xp/2003

mmc

打开控制台

write

-写字板

notepad

–打开记事本

mspaint

–画图板

mstsc

-远程桌面连接

charmap

–启动字符映射表

osk

打开屏幕键盘

magnify

–放大镜实用程序

mplayer2

-媒体播放机