50.批处理脚本(2/2)

目录

一、批处理命令。

(1)net use 连接共享文件夹或查看。

(1.1)连接共享文件夹。

(1.2)断开连接。

(1.3)显示当前连接。

(1.4)查看电脑的共享文件夹。

(2)del 删除文件。

(3)ver 显示操作系统版本信息。

(4)cls 清屏。

(5)copy 只能复制文件。

(5.1)基本的文件复制。

(5.2)复制多个文件到目标目录。

(5.3)复制文件并重命名。

(5.4)复制为文件还是复制到文件夹里面?

(6)dir 列出指定路径的目录文件(搜索文件也是用这个)。

(7)assoc 显示扩展名与文件的关联。

(8)g: 、cd 改变盘符或改变路径。

(9)date 返回日期。

(10)echo 输出或打开、关闭回显。

(11)exit 退出命令行。

(12)md 创建目录。

(13)move 移动文件或目录。

(14)path 显示路径变量,setx设置路径变量。

(15)pause 暂停执行并显示一条信息等用户按下任意键往下执行。

(16)prompt 更改或重置命令提示符。

(17)rd 删除目录。

(18)ren 重命名文件和目录。

(19)rem 注释。

(20)start的使用。

(21)time 设置或显示时间。

(22)type 将文件或文件的内容打印到输出中。

(23)vol 显示卷标和序列号。

(24)attrib 更改或显示文件或目录的属性。

(25)chkdsk 检查磁盘是否有问题。

(26)choice 要求用户选择其中一项。

(27)cmd 同一个窗口中打开一个新的命令提示符实例。

(28)comp 比较两个文件。

(29)convert  将卷的FAT格式转NTFS格式卷。

(30)driverquery 显示所有安装的设备驱动程序及其属性。

 (31)expand 只能处理 .cab 格式的压缩文件。

(32)find 搜索字符串,输出匹配的行。

(33)format 磁盘格式化。

(34)help 显示所有命令的列表。

(35)ipconfig 显示ip配置。

(36) label 用于添加,设置或删除磁盘标签。

(37)more 逐页或逐行显示文本文件内容的命令。

(38)net 根据使用的命令提供各种网络服务(学带重要的就行,其他的不太好理解)。

(38.1)Net View。

(38.2)Net User。

(38.3)Net Use。

(38.4)Net Time。

(38.5)Net Start(重要)。

(38.6)Net Pause(重要)。

(38.7)Net Continue(重要)。

(38.8)Net Stop(重要)。

(38.9)Net Statistics。

(38.10)Net Share。

(38.11)Net Session。

(38.12)Net Send。

(38.13)Net Print。

(38.14)Net Name。

(38.15)Net Localgroup。

(38.16)Net Group。

(38.17)Net File。

(38.18) net config 查看服务器或工作站。

(38.19)Net Computer。

(38.20)Net Accounts。

(39) ping 测试本地计算机与目标主机之间的网络连接状态。

(40)shutdown 命令用于在计算机上安全地关闭或重新启动系统。

(41)sort 行与行之间的排序。

(42)subst 创建虚拟驱动器映射到指定目录。

(43)systeminfo 显示计算机及其操作系统的配置。

(44)taskkill 终止正在运行的进程。

(45)tasklist 用于列出当前正在运行的进程列表。

(46)xcopy 递归复制文件夹和文件。

(47)tree 命令用于以树状结构显示指定目录中的所有文件和子目录。

(48)Fc命令用于列出了两个文件之间的实际差异。

(49)diskpart 用于管理磁盘驱动器、分区和卷。

(50)title 设置控制台窗口中显示的标题。

(51)set 显示当前系统上的环境变量列表。

(52)setx 用于设置永久性的环境变量。

(53)set和setx的区别。

 (54)把文件内的大小全改成小写。

(55)PowerShell 提供了兼容模式,cmd。

二、批处理语法。

(1)批处理变量。

(1.1)命令行参数。

(1.2)set命令。

(1.3)使用数字值。

(1.4)局部与全局变量。(局部变量在setlocal与endlocal之间)

(1.5)使用环境变量。

(2)注册表。

(2.1)从注册表中读取是通过REG QUERY命令完成的。

(2.2)添加到注册表是通过REG ADD命令完成的。

(2.3)从注册表中删除是通过REG DEL命令完成的。

(2.4)从注册表复制是通过REG COPY命令完成的。

(2.5)比较注册表项是通过REG COMPARE命令完成的。


一、批处理命令。

总共命令占84行: 

有关某个命令的详细信息,请键入 help 命令名
assoc          显示或修改文件扩展名关联。
attrib         显示或更改文件属性。
break          设置或清除扩展式 ctrl+c 检查。
bcdedit        设置启动数据库中的属性以控制启动加载。
cacls          显示或修改文件的访问控制列表(acl)。
call           从另一个批处理程序调用这一个。
cd             显示当前目录的名称或将其更改。
chcp           显示或设置活动代码页数。
chdir          显示当前目录的名称或将其更改。
chkdsk         检查磁盘并显示状态报告。
------------------------------------------------------------------------10
chkntfs        显示或修改启动时间磁盘检查。
cls            清除屏幕。
cmd            打开另一个 windows 命令解释程序窗口。
color          设置默认控制台前景和背景颜色。
comp           比较两个或两套文件的内容。
compact        显示或更改 ntfs 分区上文件的压缩。
convert        将 fat 卷转换成 ntfs。你不能转换当前驱动器。
copy           将至少一个文件复制到另一个位置。
date           显示或设置日期。
del            删除至少一个文件。
-------------------------------------------------------------------------20
dir            显示一个目录中的文件和子目录。
diskpart       显示或配置磁盘分区属性。
doskey         编辑命令行、撤回 windows 命令并创建宏。
driverquery    显示当前设备驱动程序状态和属性。
echo           显示消息,或将命令回显打开或关闭。
endlocal       结束批文件中环境更改的本地化。
erase          删除一个或多个文件。
exit           退出 cmd.exe 程序(命令解释程序)。
fc             比较两个文件或两个文件集并显示它们之间的不同。
find           在一个或多个文件中搜索一个文本字符串。
------------------------------------------------------------------------30
findstr        在多个文件中搜索字符串。
for            为一组文件中的每个文件运行一个指定的命令。
format         格式化磁盘,以便用于 windows。
fsutil         显示或配置文件系统属性。
ftype          显示或修改在文件扩展名关联中使用的文件类型。
goto           将 windows 命令解释程序定向到批处理程序中某个带标签的行。
gpresult       显示计算机或用户的组策略信息。
graftabl       使 windows 在图形模式下显示扩展字符集。
help           提供 windows 命令的帮助信息。
icacls         显示、修改、备份或还原文件和目录的 acl。
-------------------------------------------------------------------------40
if             在批处理程序中执行有条件的处理操作。
label          创建、更改或删除磁盘的卷标。
md             创建一个目录。
mkdir          创建一个目录。
mklink         创建符号链接和硬链接
mode           配置系统设备。
more           逐屏显示输出。
move           将一个或多个文件从一个目录移动到另一个目录。
openfiles      显示远程用户为了文件共享而打开的文件。
path           为可执行文件显示或设置搜索路径。
-------------------------------------------------------------------------50
pause          暂停批处理文件的处理并显示消息。
popd           还原通过 pushd 保存的当前目录的上一个值。
print          打印一个文本文件。
prompt         更改 windows 命令提示。
pushd          保存当前目录,然后对其进行更改。
rd             删除目录。
recover        从损坏的或有缺陷的磁盘中恢复可读信息。
rem            记录批处理文件或 config.sys 中的注释(批注)。
ren            重命名文件。
rename         重命名文件。
--------------------------------------------------------------------------60
replace        替换文件。
rmdir          删除目录。
robocopy       复制文件和目录树的高级实用工具
set            显示、设置或删除 windows 环境变量。
setlocal       开始本地化批处理文件中的环境更改。
sc             显示或配置服务(后台进程)。
schtasks       安排在一台计算机上运行命令和程序。
shift          调整批处理文件中可替换参数的位置。
shutdown       允许通过本地或远程方式正确关闭计算机。
sort           对输入排序。
---------------------------------------------------------------------------70
start          启动单独的窗口以运行指定的程序或命令。
subst          将路径与驱动器号关联。
systeminfo     显示计算机的特定属性和配置。
tasklist       显示包括服务在内的所有当前运行的任务。
taskkill       中止或停止正在运行的进程或应用程序。
time           显示或设置系统时间。
title          设置 cmd.exe 会话的窗口标题。
tree           以图形方式显示驱动程序或路径的目录结构。
type           显示文本文件的内容。
ver            显示 windows 的版本。
----------------------------------------------------------------------------80
verify         告诉 windows 是否进行验证,以确保文件正确写入磁盘。
vol            显示磁盘卷标和序列号。
xcopy          复制文件和目录树。
wmic           在交互式命令 shell 中显示 wmi 信息。

有关工具的详细信息,请参阅联机帮助中的命令行参考。

(1)net use 连接共享文件夹或查看。

(1.1)连接共享文件夹。

要连接到远程共享文件夹,可以使用以下命令:

net use Z: \\computer_name\shared_folder /user:username password

其中,Z: 是本地驱动器的映射;\\computer_name\shared_folder 是远程计算机上共享文件夹的路径;username 是在远程计算机上拥有访问权限的用户名;password 是相应的密码。

将共享文件夹映射到 Z: 驱动器后,共享文件夹会成为 Z: 驱动器的根目录。你可以通过 Z: 驱动器直接访问共享文件夹中的内容。当你在 Z: 驱动器中浏览文件夹时,实际上是在访问远程计算机上的共享文件夹,而不是本地计算机上的文件系统。任何对 Z: 驱动器中的文件和文件夹的操作都会直接影响到远程共享文件夹中对应的内容。

(1.2)断开连接。

要断开与共享资源的连接,可以使用以下命令:

net use Z: /delete

其中,Z: 是需要断开连接的本地驱动器的映射。

(1.3)显示当前连接。

要列出当前与远程共享资源建立的连接,可以使用以下命令:

net use

(1.4)查看电脑的共享文件夹。

  1. 在文件资源管理器的地址栏中输入 \\localhost,然后按回车键。这会显示你自己电脑上共享的文件夹和打印机。
  2. 在文件资源管理器中,右击想要查看的文件夹,然后选择“属性”,在属性对话框中,切换到“共享”选项卡,你可以看到该文件夹的共享状态以及共享名称。

(2)del 删除文件。

这个批处理命令用于删除文件而不是目录。 

del .             # 将删除当前目录中的所有文件。
del C:\lists.txt  # 删除C:\中的文件lists.txt
del /s *.txt      # 在当前目录及其所有子目录中,删除所有.txt文件
Del /p /s *.txt   # 在当前目录及其所有子目录中,逐个列出所有扩展名为 .txt 的文件,并要求用户确认是否删除。

(3)ver 显示操作系统版本信息。

在 Windows 系统中,"ver" 命令用于显示操作系统的版本信息。当你在命令提示符或批处理脚本中输入 "ver" 后按下回车键,系统会返回类似以下的信息:

ver

结果输出:
Microsoft Windows [版本 10.0.19041.450]

在 "10.0.19041.450" 中,"10.0" 表示这是 Windows 10 系统。"19041" 是指系统的构建版本号,它代表了系统发布的特定版本。而末尾的 "450" 表示累积更新的补丁版本号,即系统已经安装了多少个累积更新或补丁。

(4)cls 清屏。

清除屏幕

(5)copy 只能复制文件。

此批处理命令用于将文件从一个位置复制到另一个位置。

(5.1)基本的文件复制。

例如:copy C:\myfolder\file1.txt D:\backup\file1.txt

(5.2)复制多个文件到目标目录。

例如:copy C:\myfolder\file1.txt C:\myfolder\file2.txt D:\backup

(5.3)复制文件并重命名。

例如:copy C:\myfolder\file1.txt D:\backup\file_newname.txt

(5.4)复制为文件还是复制到文件夹里面?

copy a.bat  a

如果有a这个文件夹,则放到a的文件夹里面;如果没有,则会把a.bat复制为a文件。

(6)dir 列出指定路径的目录文件(搜索文件也是用这个)。

该批处理命令列出目录的内容。

dir C:\ > C:\lists.txt # 所有从C:\目录列表将重定向输出到文件lists.txt
dir /s     # 递归列出所有目录和子目录
dir /s /b  # 以递归方式列出目录和所有子目录的内容,每行文件,显示每个列出的文件或目录的完整路径。
dir *.txt  # 列出所有扩展名为 .txt 的文件。
dir /a     # 包括列表中的隐藏文件和系统文件。
dir /ah    # 仅列出隐藏的文件。

/a :显示具有指定属性的文件,后面还应该指定属性,如dir /ah。(非绝对目录)

/b :使用空格式(没有标题信息或摘要)。(非绝对路径)

/s :显示当前目录下的所有子孙目录和子孙文件。(绝对路径)

/s /b :显示所有子孙目录和子孙文件,以使用空格式显示信息。(绝对路径)

(7)assoc 显示扩展名与文件的关联。

assoc                      # 显示所有的扩展名与文件类型的关联。
assoc .doc                 # 显示.doc扩展名关联的文件类型
assoc > F:\worksp\batch_script\lists.txt 
assoc | find ".doc" > F:\worksp\batch_script\listsdoc.txt
assoc .txt=Word.Document.8 #设置.txt为word类型的文档,可以看到.txt文件的图标都变了
assoc .txt=txtfile         #恢复.txt的正确关联

(8)g: 、cd 改变盘符或改变路径。

cd \Program Files  # 修改当前盘符下的该路径
cd %USERPROFILE%   # 修改当前盘符下的该路径
cd ..              # 退出当前目录
cd ..\..           # 退出两层目录
cd /b g:\a\b\c     # /b参数可以直接改变盘符和路径

改变当前盘符格式:
d:                 # 比如当前是c盘,执行后进入d盘

(9)date 返回日期。

这个批处理命令用于查找系统日期。

echo %date% # 输出日期
date # 输出日期

输出结果:
2023/11/12 周日

(10)echo 输出或打开、关闭回显。

此批处理命令显示消息,或打开或关闭命令回显。

echo off   # 关闭回显
echo on    # 开启回显
echo abc   # 输出内容abc

(11)exit 退出命令行。

这个批处理命令退出DOS控制台。

exit

(12)md 创建目录。

这个批处理命令在当前位置创建一个新的目录。

md a            # 创建单级目录
md a\b          # 创建多级目录
md C:\s\ss\sss  # 创建带有完整路径的目录

注意:md可以跨盘创建目录、以及一次性创建多级不存在的目录。

(13)move 移动文件或目录。

这个批处理命令在目录之间移动文件或目录。

move C:\a.txt c:\tp  # 把a.txt文件移动到tp目录下
move Dir1 Dir2       # 把Dir1移动到Dir2目录下
move C:\s.txt        # 把s.txt文件移动到当前目录下
move a.bat b.bat     # 把a.bat重命名为b.bat

(14)path 显示路径变量,setx设置路径变量。

此批处理命令显示或设置路径变量。

新增环境变量语法:setx 变量名 "变量值"

保持原本环境变量值下新增值:setx 变量名 "%变量名%;变量值"

echo path # 输出path变量值
path # 输出path变量值

输入setx命令,后跟“变量名 变量值”的格式,例如:
setx path "%path%;C:\new_directory_path"
setx MY_ENV_VAR “hello world”

(15)pause 暂停执行并显示一条信息等用户按下任意键往下执行。

pause是一个用于暂停批处理文件执行并显示一条消息等待用户按下任意键的命令。

@echo off
echo abcdefg
pause
echo 1234567
pause

输出结果:
abcdefg
请按任意键继续. . .
1234567
请按任意键继续. . .

替换pause默认提示词: Echo hello & pause > nul  

hello代替了请按任意键继续...

(16)prompt 更改或重置命令提示符。

此批处理命令可用于更改或重置cmd.exe提示符。

$g:“>”

$t:时间

$p:恢复显示当前路径

使用语法:prompt [content] [$g] [$t] [$p] 

注意:参数的顺序不同,显示的结果也不一样。

D:\桌面\a\b prompt hello word $g
hello word >
解释:D:\桌面\a\b 被修改为 hello word >

D:\桌面\a\b prompt  $t
15:44:28.51
解释:D:\桌面\a\b 被修改为 15:44:28.51

D:\桌面\a\b prompt hello word $t $g
hello word 15:48:55.69 >
解释:D:\桌面\a\b 被修改成 hello word 15:48:55.69 >

hello word 15:48:55.69 >prompt $p
D:\桌面\a\b
解释:恢复成原来的样子。

(17)rd 删除目录。

这个批处理命令删除目录,但目录需要是空的才能被删除(除非加上参数)。

rd <目录路径>
rd /s /q <目录路径>
  • /s:表示删除指定目录以及其中的所有子目录和文件。
  • /q:在删除目录时不需要确认。

(18)ren 重命名文件和目录。

ren 重命名文件和目录。

ren <原文件或目录名> <新文件或目录名>
  1. 重命名文件:

    ren oldfile.txt newfile.txt

    这个命令将把名为 "oldfile.txt" 的文件改名为 "newfile.txt"。

  2. 重命名目录:

    ren olddir newdir

    这个命令将把名为 "olddir" 的目录改名为 "newdir"。

(19)rem 注释。

rem 此批处理命令用于批处理文件中的备注,防止执行备注的内容。

注意:不可在for循环里面使用注释。(把注释放到for循环外面)

(20)start的使用。

语法:start <程序名或文件名> 

示例:

  1. 启动记事本程序:

    start notepad.exe

    这个命令将启动 Windows 记事本程序。

  2. 打开一个网页:

    start https://www.example.com

    这个命令将在默认浏览器中打开指定的网页。

  3. 打开文件资源管理器并选中指定目录:

    start explorer /select,C:\example\directory

    这个命令将打开文件资源管理器并选中 "C:\example\directory" 目录。

"start" 命令还支持一系列选项,比如指定窗口标题、运行时的工作目录等。

(21)time 设置或显示时间。

该批处理命令设置或显示时间。

显示当前时间:

要显示当前系统时间,只需在命令提示符下输入以下命令:

echo %time%

更改系统时间:

若要更改系统时间,可以使用以下命令:

time <新时间>

例如:

time 12:34:00

(22)type 将文件或文件的内容打印到输出中。

该批处理命令将文件或文件的内容打印到输出中。

type <文件名>                   # 命令行窗口中显示 "example.txt" 文件的内容。
type example.txt | more         # 逐页显示文本文件内容。
type example.txt > newfile.txt  # 将内容输出到另一个文件。

(23)vol 显示卷标和序列号。

此批处理命令显示卷标。

vol [驱动器号:] 

C:\Users\Administrator.DESKTOP-JC7RO0H>vol g:

输出结果:
 驱动器 G 中的卷是 安装盘
 卷的序列号是 FA5B-C046

(24)attrib 更改或显示文件或目录的属性。

attrib 命令通常用于更改或显示文件或目录的属性。在 Windows 系统中,attrib 命令可以用于查看或更改文件或目录的属性,比如只读、隐藏、系统等。(系统文件的删除通常需要管理员权限)

要使用 attrib 命令,你可以打开命令提示符(CMD)并输入以下命令:

attrib [+R | -R] [+A | -A] [+S | -S] [+H | -H] [文件名]

其中,各个选项的含义如下:

  • +R 或 -R:设置或取消只读属性。
  • +A 或 -A:设置或取消存档属性。
  • +S 或 -S:设置或取消系统文件属性。
  • +H 或 -H:设置或取消隐藏属性。
  • [文件名]:指定需要设置属性的文件或目录名称。
例如,如果你想将文件 example.txt 设置为只读,可以输入以下命令:
attrib +R example.txt

如果你想取消隐藏属性,可以输入以下命令:
attrib -H example.txt

如果你想查看文件或目录的当前属性,可以输入以下命令:
attrib 文件名
执行这个命令后,系统将返回文件或目录的当前属性信息。

(25)chkdsk 检查磁盘是否有问题。

这个批处理命令检查磁盘是否有问题。

chkdsk 的缩写代表 "Check Disk",翻译为:检查磁盘。

chkdsk [驱动器名]: /f

其中,[驱动器名] 代表你要检查的磁盘驱动器的盘符,例如 C:、D: 等。选项 /f 表示修复检测到的错误。

(26)choice 要求用户选择其中一项

"choice" 命令的基本用法和语法:

choice /C choices /N /M prompt

  • /C choices:指定可供用户选择的选项列表,每个选项都应包含在双引号内,并且不得超过 254 个字符。
  • /N:指示命令在用户输入之前不显示提示或任何其他信息。(不写该参数则提示选项)
  • /M prompt:设置要显示给用户的消息文本。

在 "choice" 命令中,选项的顺序决定了它们对应的错误级别。在示例中,我们用 "/C YN" 指定了两个选项,按照顺序,"Y" 对应的错误级别是 1,"N" 对应的错误级别是 2。所以如果用户选择了 "N","errorlevel" 就会被设置为 2,而不是 "N" 的字母本身。 

choice /C YN /N /M "Do you want to continue? (Y/N)"
if errorlevel 2 (
    echo You chose not to continue.
) else (
    echo You chose to continue.
)

结果输出:
Do you want to continue? (Y/N) N  # 后面的N是用户输入
You chose not to continue.
请按任意键继续. . .
@echo off
choice /C YN /M "Do you want to continue? (Y/N)"
if errorlevel 2 (
    echo You chose not to continue.
) else (
    echo You chose to continue.
)
pause

输出结果:
Do you want to continue? (Y/N) [Y,N]?N  # 最后一个N是用户输入的,“[Y,N]?”是提示
You chose not to continue.
请按任意键继续. . .

(27)cmd 同一个窗口中打开一个新的命令提示符实例。

此批处理命令将调用另一个命令提示符实例。

新打开的命令提示符实例通常会继承父实例的环境和状态。这意味着它会继承父实例的当前工作目录、环境变量设置以及其他相关的上下文信息。

D:\桌面>cmd
Microsoft Windows [版本 10.0.19043.1466]
(c) Microsoft Corporation。保留所有权利。

D:\桌面>cmd
Microsoft Windows [版本 10.0.19043.1466]
(c) Microsoft Corporation。保留所有权利。

D:\桌面>cmd
Microsoft Windows [版本 10.0.19043.1466]
(c) Microsoft Corporation。保留所有权利。

D:\桌面>exit

D:\桌面>exit

D:\桌面>exit

D:\桌面>
start cmd # 打开一个新的dos界面

(28)comp 比较两个文件。

该批处理命令根据文件大小比较2个文件。 

"comp" 是 Windows 系统中的一个命令行实用程序,用于比较两个文件或一组文件并报告它们之间的差异。下面是 "comp" 命令的基本使用方式和一些常见选项:

COMP 文件1 文件2

这将比较两个指定的文件,并在它们之间找到差异时显示相应的消息。

以下是一些常见的选项:

  • /A:将文件视为 ASCII 文本文件而不是二进制文件。
  • /B:执行二进制比较。
  • /D:在发现不同的情况下,显示不同处的偏移量。
  • /L:在比较时不区分大小写。
  • /N=号:设置要显示的相邻不同行数。
  • /C:输出相邻不同行的计数。

例如,要比较两个名为 "file1.txt" 和 "file2.txt" 的文本文件,您可以使用以下命令:

comp /A file1.txt file2.txt

这将比较这两个文本文件并报告它们之间的差异(如果有的话)。

D:\桌面>comp /a a.txt a_lowercase.txt
比较 a.txt 和 a_lowercase.txt...
文件的大小不同。

是否要比较更多文件 (Y/N)? y
第一个比较文件的名称:a.txt
第二个比较文件的名称:b.cmd
选项: /a
选项:
比较 a.txt 和 b.cmd...
文件的大小不同。

是否要比较更多文件 (Y/N)?

(29)convert  将卷的FAT格式转NTFS格式卷。

批处理Convert命令用于将卷从FAT16FAT32文件系统转换为NTFS文件系统。

在 Windows 的批处理脚本中,CONVERT 命令通常用于将 FAT 卷转换为 NTFS 格式。下面是使用 CONVERT 命令的基本语法:

CONVERT [drive:][path] /FS:NTFS [/V] [/CvtArea:FileName] [/NoSecurity] [/X]

其中:

  • [drive:][path] 表示要转换的卷的驱动器号和路径。
  • /FS:NTFS 指定要将卷转换为 NTFS 格式。
  • /V 显示磁盘 (卷) 的大小以及用于共享文件系统转换进度的信息。
  • /CvtArea:FileName 指定了系统文件的作用域。
  • /NoSecurity 指示转换过程中不保存安全设置。
  • /X 强制卸载卷。

例如,要将 D 驱动器上的卷转换为 NTFS 格式,并显示转换进度信息,可以使用以下命令:

CONVERT D: /FS:NTFS /V

(30)driverquery 显示所有安装的设备驱动程序及其属性。

批处理Driverquery命令用于显示所有安装的设备驱动程序及其属性。

DRIVERQUERY [/S system [/U username [/P [password]]]]
              [/FO format] [/NH] [/SI] [/V]
描述:
    允许管理员显示已安装设备驱动程序
    的列表。
参数列表:
      /S     system           指定要连接到的远程系统。
      /U     [domain\]user    执行命令执行的用户上下文。
      /P     [password]       指定所给用户上下文的密码。
      /FO    format           指定要显示的结果类型。与命令行开关一起传递
                              的有效值是 "TABLE"、"LIST"、" CSV"。
      /NH                     指定“列标题”不应该在屏幕输出中
                              出现。只对 "TABLE" 和 "CSV" 格式有效。
      /SI                     提供有关已签名驱动程序的信息。
      /V                      显示详细任务输出。对签名的驱动程序无效。
      /?                      显示该帮助消息。
示例:
    DRIVERQUERY
    DRIVERQUERY /FO CSV /SI
    DRIVERQUERY /NH
    DRIVERQUERY /S ipaddress /U user /V
    DRIVERQUERY /S system /U domain\user /P password /FO LIST
常见用法就是驱动程序查询:
driverquery

 (31)expand 只能处理 .cab 格式的压缩文件。

expand 命令是 Windows 操作系统中的一个命令行工具,用于将一个或多个压缩文件解压缩到指定目录。expand 命令通常用于处理 .cab 格式的压缩文件。

以下是 expand 命令的基本语法:

EXPAND source destination

其中:

  • source 表示要解压缩的文件路径及文件名。
  • destination 表示要将文件解压到的目标目录。

例如,要将名为 example.cab 的压缩文件解压缩到 C:\destination 目录,可以使用如下命令:

expand example.cab C:\destination

此命令将解压缩 example.cab 文件中的所有内容到 C:\destination 目录中。需要注意的是,expand 命令只能处理 .cab 格式的压缩文件,如果您需要解压其他格式的压缩文件,可能需要使用其他工具,如 unzip 或者专门处理对应格式的压缩工具。

(32)find 搜索字符串,输出匹配的行。

该批处理命令在文件或输入中搜索字符串,输出匹配的行。

FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]

  /V         显示所有未包含指定字符串的行。
  /C         仅显示包含字符串的行数。
  /N         显示行号。
  /I         搜索字符串时忽略大小写。
  /OFF[LINE] 不要跳过具有脱机属性集的文件。
  "string" 指定要搜索的文本字符串。
  [drive:][path]filename
             指定要搜索的文件。

如果没有指定路径,FIND 将搜索在提示符处键入
的文本或者由另一命令产生的文本。
FIND "apple" example.txt
这将输出 example.txt 文件中包含 "apple" 的所有文本行。

(33)format 磁盘格式化。

批处理Format命令用于将一个磁盘使用Windows支持的文件系统,如FAT,FAT32或NTFS,格式化覆盖以前的磁盘内容。 

format D:\

用上面的命令,D盘将被格式化。

(34)help 显示所有命令的列表。

该批处理命令显示Windows提供的命令的列表。

help # 显示windows提供的所有的dos命令

(35)ipconfig 显示ip配置。

此批处理命令显示Windows IP配置。显示连接的配置和连接的名称。

ipconfig

以太网是有线连接的网络,如网线。

AP的主要功能包括:

  1. 无线信号发射: AP通过无线信号覆盖一定范围内的区域,使得该区域内的无线设备可以与AP建立连接,从而访问有线网络或互联网。

  2. 无线接入控制: AP通常会对接入其无线网络的设备进行管理和控制,例如进行身份验证、加密传输等操作,以确保无线网络的安全性。

  3. 网络连接转换: AP将无线设备发送的数据转换为有线网络上的数据,或者将有线网络上的数据转发给无线设备。

(36) label 用于添加,设置或删除磁盘标签。

批处理Label命令用于添加,设置或删除磁盘标签。 

在Windows中,label是一个批处理命令,用于为卷分配一个卷标。这个命令通常用于为存储设备(如硬盘、U盘)设置一个易于识别和管理的名称。

以下是label命令的基本使用方法:

LABEL [驱动器:][卷标]

示例:如果存在卷标名称,这条命令也能修改卷标的名称。

LABEL D: MyUSB
  • 驱动器:指定要设置卷标的驱动器号。
  • 卷标:指定要设置的卷标名称。

(37)more 逐页或逐行显示文本文件内容的命令。

按空格:输出一页。

按回车:输出一行。 

语法

More [filename]
dir c: | more

在命令行环境下,more 是一个用于逐页显示文本文件内容的命令。它允许您按页查看大型文本文件,而不是一次性将整个文件内容全部显示出来。

一旦输入了这个命令,more 将会按页显示文件的内容。您可以使用以下按键来浏览内容:

  • 按下空格键以向下滚动一页。
  • 按下 Enter 键以向下滚动一行。
  • 按下 Q 键以退出 more 命令。

通过使用 more,您可以方便地逐页查看大型文本文件的内容,而无需一次性加载整个文件。

(38)net 根据使用的命令提供各种网络服务(学带重要的就行,其他的不太好理解)。

批处理Net命令用于根据使用的命令提供各种网络服务。

其用法可以是以下之一 -
net accounts
net computer
net config
net continue
net file
net group
net help
net helpmsg
net localgroup
net name
net pause
net print
net send
net session
net share
net start
net statistics
net stop
net time
net use
net user
net view

(38.1)Net View。

  作用:显示域列表、计算机列表或指定计算机的共享资源列表。
  命令格式:Net view [\\computername | /domain[:domainname]]
  有关参数说明:
  ·键入不带参数的Net view显示当前域的计算机列表
  ·\\computername 指定要查看其共享资源的计算机
  ·/domain[:domainname]指定要查看其可用计算机的域
  例如:Net view \\GHQ查看GHQ计算机的共享资源列表。
     Net view /domain:XYZ 查看XYZ域中的机器列表。

(38.2)Net User。

  作用:添加或更改用户帐号或显示用户帐号信息。
  命令格式:Net user [username [password | *] [options]] [/domain]
  有关参数说明:
  ·键入不带参数的Net user查看计算机上的用户帐号列表
  ·username添加、删除、更改或查看用户帐号名
  ·password为用户帐号分配或更改密码
  ·提示输入密码
  ·/domain在计算机主域的主域控制器中执行操作。该参数仅在 Windows NT Server 域成员的 Windows NT Workstation 计算机上可用。默认情况下,Windows NT Server 计算机在主域控制器中执行操作。注意:在计算机主域的主域控制器发生该动作。它可能不是登录域。
  例如:Net user ghq123查看用户GHQ123的信息。

(38.3)Net Use。

  作用:连接计算机或断开计算机与共享资源的连接,或显示计算机的连接信息。
  命令格式:Net use [devicename | *] [\\computername\sharename[\volume]] [password|*]][/user:[domainname\]username][[/delete]| [/persistent:{yes | no}]]
  有关参数说明:
  ·键入不带参数的Net use列出网络连接
  ·devicename指定要连接到的资源名称或要断开的设备名称
  ·\\computername\sharename服务器及共享资源的名称
  ·password访问共享资源的密码
  ·*提示键入密码
  ·/user指定进行连接的另外一个用户
  ·domainname指定另一个域
  ·username指定登录的用户名
  ·/home将用户连接到其宿主目录
  ·/delete取消指定网络连接
  ·/persistent控制永久网络连接的使用。
  例如:Net use f: \\GHQ\TEMP 将\\GHQ\TEMP目录建立为F盘
     Net use f: \GHQ\TEMP /delete 断开连接。

(38.4)Net Time。

  作用:使计算机的时钟与另一台计算机或域的时间同步。
  命令格式:Net time [\\computername | /domain[:name]] [/set]
  有关参数说明:
  ·\\computername要检查或同步的服务器名
  ·/domain[:name]指定要与其时间同步的域
  ·/set使本计算机时钟与指定计算机或域的时钟同步。

(38.5)Net Start(重要)。

  作用:启动服务,或显示已启动服务的列表。
  命令格式:Net start service

(38.6)Net Pause(重要)。

  作 用:暂停正在运行的服务。
  命令格式:Net pause service

(38.7)Net Continue(重要)。

  作 用:重新激活挂起的服务。
  命令格式:Net continue service 

(38.8)Net Stop(重要)。

  作 用:停止 Windows NT/2000/2003 网络服务。
  命令格式:Net stop service
  上面四条命令里服务包含哪些服务:
  (1)alerter(警报);
  (2)client service for Netware(Netware 客户端服务)
  (3)clipbook server(剪贴簿服务器)
  (4)computer browser(计算机浏览器)
  (5)directory replicator(目录复制器)
  (6)ftp publishing service (ftp )(ftp 发行服务)
  (7)lpdsvc
  (8)Net logon(网络登录)
  (9)Network dde(网络 dde)
  (10)Network dde dsdm(网络 dde dsdm)
  (11)Network monitor agent(网络监控代理)
  (12)ole(对象链接与嵌入)
  (13)remote access connection manager(远程访问连接管理器)
  (14)remote access isnsap service(远程访问 isnsap 服务)
  (15)remote access server(远程访问服务器)
  (16)remote procedure call (rpc) locator(远程过程调用定位器)
  (17)remote procedure call (rpc) service(远程过程调用服务)
  (18)schedule(调度)
  (19)server(服务器)
  (20)simple tcp/ip services(简单 TCP/IP 服务)
  (21)snmp
  (22)spooler(后台打印程序)
  (23)tcp/ip Netbios helper(TCP/IP NETBIOS 辅助工具)
  (24)ups
  (25)workstation(工作站)
  (26)messenger(信使)
  (27)dhcp client

(38.9)Net Statistics。

  作用:显示本地工作站或服务器服务的统计记录。
  命令格式:Net statistics [workstation | server]
  有关参数说明:
  ·键入不带参数的Net statistics列出其统计信息可用的运行服务
  ·workstation显示本地工作站服务的统计信息
  ·server显示本地服务器服务的统计信息
  例如:Net statistics server | more显示服务器服务的统计信息。

(38.10)Net Share。

  作用:创建、删除或显示共享资源。
  命令格式:Net share sharename=drive:path [/users:number | /unlimited] [/remark:"text"]
  有关参数说明:
  · 键入不带参数的Net share显示本地计算机上所有共享资源的信息
  · sharename是共享资源的网络名称
  · drive:path指定共享目录的绝对路径
  · /users:number设置可同时访问共享资源的最大用户数
  · /unlimited不限制同时访问共享资源的用户数
  · /remark:"text "添加关于资源的注释,注释文字用引号引住
  例如: Net share yesky=c:\temp /remark:"my first share"
  以yesky为共享名共享C:\temp
  Net share yesky /delete停止共享yesky目录

(38.11)Net Session。

  作用:列出或断开本地计算机和与之连接的客户端的会话。
  命令格式:Net session [\\computername] [/delete]
  有关参数说明:
  ·键入不带参数的Net session显示所有与本地计算机的会话的信息。
  ·\\computername标识要列出或断开会话的计算机。
  ·/delete结束与 \computername 计算机会话并关闭本次会话期间计算机的所有打开文件。如果省略\computername 参数,将取消与本地计算机的所有会话。
  例如:Net session [url=file://\\GHQ]\\GHQ[/url]要显示计算机名为GHQ的客户端会话信息列表。

(38.12)Net Send。

  作用:向网络的其他用户、计算机或通信名发送消息。
  命令格式:Net send {name | * | /domain[:name] | /users} message
  有关参数说明:
  ·name要接收发送消息的用户名、计算机名或通信名
  ·* 将消息发送到组中所有名称
  ·/domain[:name]将消息发送到计算机域中的所有名称
  ·/users将消息发送到与服务器连接的所有用户
  ·message作为消息发送的文本
  例如:Net send /users server will shutdown in 10 minutes.给所有连接到服务器的用户发送消息。

(38.13)Net Print。

  作用:显示或控制打印作业及打印队列。
  命令格式:Net print [\\computername ] job# [/hold | /release | /delete]
  有关参数说明:
  ·computername共享打印机队列的计算机名
  ·sharename打印队列名称
  ·job#在打印机队列中分配给打印作业的标识号
  ·/hold使用 job# 时,在打印机队列中使打印作业等待
  ·/release释放保留的打印作业
  ·/delete从打印机队列中删除打印作业
  例如:Net print \\GHQ\HP8000列出[url=file://\\GHQ]\\GHQ[/url]计算机上HP8000打印机队列的目录。

(38.14)Net Name。

  作用:添加或删除消息名(有时也称别名),或显示计算机接收消息的名称列表。
  命令格式:Net name [name [/add | /delete]]
  有关参数说明:
  ·键入不带参数的Net name列出当前使用的名称
  ·name指定接收消息的名称
  ·/add将名称添加到计算机中
  ·/delete从计算机中删除名称

(38.15)Net Localgroup。

  作 用:添加、显示或更改本地组。
  命令格式:Net localgroup groupname {/add [/comment:"text "] | /delete} [/domain]
  有关参数说明:
  ·键入不带参数的Net localgroup显示服务器名称和计算机的本地组名称
  ·groupname要添加、扩充或删除的本地组名称
  ·/comment: "text "为新建或现有组添加注释
  ·/domain在当前域的主域控制器中执行操作,否则仅在本地计算机上执行操作
  ·name [ ...]列出要添加到本地组或从本地组中删除的一个或多个用户名或组名
  ·/add将全局组名或用户名添加到本地组中
  ·/delete从本地组中删除组名或用户名
  例如:Net localgroup ggg /add 将名为ggg的本地组添加到本地用户帐号数据库;
  Net localgroup ggg 显示ggg本地组中的用户。

(38.16)Net Group。

  作 用:在 Windows NT/2000/2003 Server 域中添加、显示或更改全局组。
  命令格式:Net group groupname {/add [/comment:"text "] | /delete} [/domain]
  有关参数说明:
  ·键入不带参数的Net group显示服务器名称及服务器的组名称
  ·groupname要添加、扩展或删除的组
  ·/comment:"text "为新建组或现有组添加注释
  ·/domain在当前域的主域控制器中执行该操作,否则在本地计算机上执行操作
  ·username[ ...]列表显示要添加到组或从组中删除的一个或多个用户
  ·/add添加组或在组中添加用户名
  ·/delete删除组或从组中删除用户名
  例如:Net group ggg GHQ1 GHQ2 /add将现有用户帐号GHQ1和GHQ2添加到本地计算机的ggg组。

(38.17)Net File。

  作用:显示某服务器上所有打开的共享文件名及锁定文件数。
  命令格式:Net file [id [/close]]
  有关参数说明:
  ·键入不带参数的Net file获得服务器上打开文件的列表
  ·id文件标识号
  ·/close关闭打开的文件并释放锁定记录

(38.18) net config 查看服务器或工作站。

语法:net config [SERVER | WORKSTATION]

参数:

       server 用于显示主要计算机运行的服务器

       workstation 用于显示工作站运行的相关信息

查看服务器运行: net config server
查看工作站运行: net config workstation

(38.19)Net Computer。

  作用:从域数据库中添加或删除计算机。
  命令格式:Net computer \\computername {/add | /del}
  有关参数说明:
  ·\\computername指定要添加到域或从域中删除的计算机
  ·/add将指定计算机添加到域
  ·/del将指定计算机从域中删除
  例如:Net computer \\js /add将计算机js 添加到登录域。

(38.20)Net Accounts。

  作用:更新用户帐号数据库、更改密码及所有帐号的登录要求。
  命令格式:Net accounts [/forcelogoff:{minutes | no}] [/minpwlen:length] [/maxpwage:{days | unlimited}] [/minpwage:days] [/uniquepw:number] [/domain]
  有关参数说明:
  ·键入不带参数的Net accounts显示当前密码设置、登录时限及域信息
  ·/forcelogoff:{minutes | no}设置当用户帐号或有效登录时间过期时
  ·/minpwlen:length设置用户帐号密码的最少字符数
  ·/maxpwage:{days | unlimited}设置用户帐号密码有效的最大天数
  ·/minpwage:days设置用户必须保持原密码的最小天数
  ·/uniquepw:number要求用户更改密码时,必须在经过number次后才能重复使用与之相同的密码
  ·/domain在当前域的主域控制器上执行该操作
  ·/sync当用于主域控制器时,该命令使域中所有备份域控制器同步
  例如:Net accounts /minpwlen:8 将用户帐号密码的最少字符数设置为8。

net accounts  #显示当前帐户策略设置。
net accounts /minpwlen:8  # 修改密码最短长度。
net accounts /maxpwage:30  # 设置密码最长时间(单位:天)。
net accounts /minpwage:1   # 修改密码更改间隔(单位:天).
net accounts /maxpwage:unlimited # 禁用密码过期.

————————————————
大部分的(38)内容参考下面链接的文章,博主懒得写了。
原文链接:https://blog.csdn.net/ngbshzhn/article/details/129253678

(39) ping 测试本地计算机与目标主机之间的网络连接状态。

ping是一个常用的网络工具,用于测试本地计算机与目标主机之间的网络连接状态。它通过向目标主机发送ICMP(Internet Control Message Protocol)回显请求,并等待对应的回复来评估连接的可达性和延迟。

ping www.baidu.com
ping <目标主机地址或主机名>  # 这个命令将向指定的目标主机发送 ICMP 回显请求,并显示每个回复的往返时间(即延迟)和丢包率。您可以使用目标主机的IP地址或主机名作为参数。
ping -n <次数> <目标主机地址或主机名> # 设置 ping 次数。
ping -l <大小> <目标主机地址或主机名> # 设置 ping 包大小。
ping -t <目标主机地址或主机名>        # 持续 ping。

(40)shutdown 命令用于在计算机上安全地关闭或重新启动系统。

shutdown命令用于在计算机上安全地关闭或重新启动系统。它是一个非常有用的命令,特别是在远程管理计算机或需要通过命令行快速关闭计算机时。

以下是一些shutdown命令的使用示例:

  1. 立即关闭计算机:

    shutdown /s /f /t 0

    这个命令将立即关闭计算机。/s选项表示关闭计算机,/f选项表示强制关闭正在运行的应用程序而不显示警告或等待消息,/t 0表示立即执行关机操作。

  2. 延迟一段时间后关闭计算机:

    shutdown /s /t <秒数>

    通过指定/t选项后面跟随的秒数来延迟关闭计算机的时间。例如,shutdown /s /t 300表示在5分钟后关闭计算机。

  3. 取消预定的关机操作:

    shutdown /a

    如果之前已经使用shutdown命令预定了关机操作,可以使用/a选项来取消预定的关机操作。

  4. 重新启动计算机:

    shutdown /r /t 0

    这个命令将立即重新启动计算机。/r选项表示重新启动计算机,/t 0表示立即执行重新启动操作。

(41)sort 行与行之间的排序。

批处理中的 sort 命令用于对文本文件进行排序操作。这个排序是以每一行为一个元素的(非行内内容排序),即排序的是行与行。

2
1
34
ba
c
a
排序结果:
D:\桌面>sort a.txt
1
2
34
a
ba
c

下面是 sort 命令的基本用法:

sort [选项] 文件名 

其中,[选项] 是可选的,常用的选项包括:

  • -r:以逆序(降序)排序
  • -n:按数字大小排序
  • -u:去除重复行
  • -o 输出文件名:将排序后的结果输出到指定文件

示例:

sort file.txt # 对文件进行排序并输出到控制台
sort -r file.txt # 以逆序(降序)排序
sort -n file.txt # 按数字大小排序
sort -u file.txt # 去除重复行
sort file.txt -o sorted_file.txt # 将排序后的结果输出到指定文件

(42)subst 创建虚拟驱动器映射到指定目录。

"subst"的缩写代表"substitute",意思是替代或替换。

要创建一个虚拟驱动器号映射到指定目录,你可以使用以下命令:

subst X: C:\MyFolder

这会将目录 "C:\MyFolder" 映射到虚拟驱动器号 X 上。现在,你可以通过访问 X:\ 来访问 "C:\MyFolder" 中的内容了。

如果你想要解除这个映射,可以使用以下命令:

subst X: /d

这会将 X 驱动器号的映射移除。

如果不指定映射的目录,则默认映射到当前目录:

subst X:

在Windows操作系统中,"subst"命令的作用就是将一个文件夹路径替代为一个虚拟驱动器号,从而实现对该文件夹路径内容的访问。

(43)systeminfo 显示计算机及其操作系统的配置。

批处理Systeminfo命令用于显示计算机及其操作系统的配置。

systeminfo

结果输出:
D:\桌面>systeminfo

主机名:           TAN
OS 名称:          Microsoft Windows 10 专业版
OS 版本:          10.0.19043 暂缺 Build 19043
OS 制造商:        Microsoft Corporation
OS 配置:          独立工作站
OS 构建类型:      Multiprocessor Free
注册的所有人:     暂缺
注册的组织:       暂缺
产品 ID:          00331-10000-00001-AA420
初始安装日期:     2021/12/5, 11:26:26
系统启动时间:     2023/11/10, 0:55:38
系统制造商:       MECHREVO
系统型号:         X6Ti
系统类型:         x64-based PC
处理器:           安装了 1 个处理器。
                  [01]: Intel64 Family 6 Model 94 Stepping 3 GenuineIntel ~2600 Mhz
BIOS 版本:        American Megatrends Inc. N.1.11, 2016/10/7
Windows 目录:     C:\windows
系统目录:         C:\windows\system32
启动设备:         \Device\HarddiskVolume1
系统区域设置:     zh-cn;中文(中国)
输入法区域设置:   zh-cn;中文(中国)
时区:             (UTC+08:00) 北京,重庆,香港特别行政区,乌鲁木齐
物理内存总量:     24,490 MB
可用的物理内存:   13,771 MB
虚拟内存: 最大值: 25,290 MB
虚拟内存: 可用:   10,785 MB
虚拟内存: 使用中: 14,505 MB
页面文件位置:     C:\pagefile.sys
域:               WORKGROUP
登录服务器:       \\TAN
修补程序:         安装了 6 个修补程序。
                  [01]: KB5020872
                  [02]: KB5000736
                  [03]: KB5009543
                  [04]: KB5006753
                  [05]: KB5007273
                  [06]: KB5003242
网卡:             安装了 5 个 NIC。
                  [01]: Realtek PCIe GbE Family Controller
                      连接名:      以太网
                      状态:        媒体连接已中断
                  [02]: Intel(R) Dual Band Wireless-AC 3165
                      连接名:      WLAN
                      启用 DHCP:   是
                      DHCP 服务器: 192.168.43.246
                      IP 地址
                        [01]: 192.168.43.154
                        [02]: fe80::a155:8c59:7af1:8c94
                        [03]: 240e:47c:ea0:34e3:b5c1:71ad:6c90:1372
                        [04]: 240e:47c:ea0:34e3:a155:8c59:7af1:8c94
                  [03]: VirtualBox Host-Only Ethernet Adapter
                      连接名:      以太网 2
                      启用 DHCP:   否
                      IP 地址
                        [01]: 192.168.56.1
                        [02]: fe80::8118:6591:10a9:3924
                  [04]: Sangfor SSL VPN CS Support System VNIC
                      连接名:      以太网 4
                      状态:        媒体连接已中断
                  [05]: Microsoft Wi-Fi Direct Virtual Adapter
                      连接名:      本地连接* 10
                      状态:        没有硬件
Hyper-V 要求:     已检测到虚拟机监控程序。将不显示 Hyper-V 所需的功能。

D:\桌面>

(44)taskkill 终止正在运行的进程。

taskkill 是 Windows 操作系统中的一个命令行工具,用于终止正在运行的进程。

taskkill /IM <进程名.exe> /F

其中,/IM 参数用于指定要关闭的进程名;/F 参数用于强制终止进程。

举个例子,假设你要关闭一个名为 "notepad.exe" 的记事本进程,你可以执行以下命令:

taskkill /IM notepad.exe /F

这将立即终止所有正在运行的 "notepad.exe" 进程。

(45)tasklist 用于列出当前正在运行的进程列表。

批处理Tasklist命令用于列出当前正在运行的进程列表,包括任务名称和进程ID(PID)。

tasklist                # 一次性全部输出出来
tasklist | more         # 一页一页输出
tasklist | sort | more  # 排序后,一页一页输出

(46)xcopy 递归复制文件夹和文件。

批处理Xcopy命令用于以更高级的方式复制文件和目录。

要使用 xcopy 命令来复制文件夹及其内容,你可以在命令提示符中执行以下命令:

xcopy a b /E 

其中:

  • a 是要复制的源文件夹的路径。
  • b 是要将源文件夹复制到的目标位置的路径。
  • /E 参数表示递归复制文件夹及其所有子文件夹和文件。

执行上述命令后,xcopy 将会递归地复制源文件夹及其所有内容到目标文件夹中。

(47)tree 命令用于以树状结构显示指定目录中的所有文件和子目录。

tree 命令用于以树状结构显示指定目录中的所有文件和子目录。这对于查看目录结构和文件组织非常有用。

要使用 tree 命令,你可以按照以下格式在命令提示符中输入:

tree [drive:][path] [/F] [/A]

其中:

  • [drive:][path] 是要显示目录结构的目标目录的路径。
  • /F 参数显示每个文件夹中的文件名称。
  • /A 参数使用 ASCII 字符集而不是扩展字符集。

例如,如果你想要显示当前目录的树状结构并包含文件名称,你可以直接在命令提示符中输入

tree /F # 不加/f参数则之后显示目录,文件不会显示。缩写f=file

tree cerebro-0.9.4 # 显示该目录的目录树状结构

(48)Fc命令用于列出了两个文件之间的实际差异。

批处理Fc命令用于列出了两个文件之间的实际差异。

Fc [fileA] [fileB]

例如:

FC lists.txt listsA.txt

(49)diskpart 用于管理磁盘驱动器、分区和卷。

diskpart 是 Windows 操作系统中的一个命令行实用程序,用于管理磁盘驱动器、分区和卷。使用 diskpart 可以执行各种磁盘管理任务,如创建分区、格式化磁盘、扩展卷等。

以下是使用 diskpart 进行常见磁盘管理任务的一般步骤:

  1. 打开命令提示符:按下 Win + R 组合键,输入 cmd,然后按回车键打开命令提示符窗口。

  2. 输入 diskpart 命令启动 diskpart 实用程序。

  3. 使用以下命令来执行不同的磁盘管理任务:

    • list disk:显示所有可用的磁盘驱动器。
    • select disk n:选择要操作的磁盘(n 是磁盘的编号)。
    • list partition:显示所选磁盘上的所有分区。
    • select partition n:选择要操作的分区(n 是分区的编号)。
    • create partition primary [size=n]:创建一个新的主分区(可选地指定大小)。
    • delete partition:删除所选的分区。
    • format fs=ntfs quick:快速格式化分区为 NTFS 文件系统(可以根据需要更改文件系统类型)。
    • extend:扩展所选分区的大小。
    • exit:退出 diskpart 实用程序。

请注意,执行某些命令(如删除分区或格式化磁盘)会永久删除数据,请谨慎操作。

(50)title 设置控制台窗口中显示的标题。

该批处理title命令设置控制台窗口中显示的标题。

title 小默的窗口

(51)set 显示当前系统上的环境变量列表。

批处理Set命令用于显示当前系统上的环境变量列表。(不限于path部分)

以下是一些常见的 set 命令用法示例:
set             # 显示所有环境变量。
set 变量名       # 显示特定环境变量的值。例如,set PATH
set 变量名=数值  # 设置环境变量的值。例如,set MYVAR=hello
set 变量名=      # 删除环境变量。(没错,就是这样写)
请注意,使用 set 命令设置的环境变量只会在当前命令行窗口中有效,一旦关闭该窗口,所做的更改就会丢失。

(52)setx 用于设置永久性的环境变量。

setx 是 Windows 命令行中的一个实用程序,用于设置永久性的环境变量。与 set 命令不同,setx 命令所做的更改会在系统重新启动后保持有效。

以下是一些常见的 setx 命令用法示例:

  1. 设置永久环境变量:

    setx 变量名 "数值"

    例如,要将 MYVAR 环境变量设置为 hello,并使其在系统重新启动后保持有效,可以输入:

    setx MYVAR "hello"
  2. 设置系统级别的永久环境变量:

    setx 变量名 "数值" /m

    要将环境变量设置为系统级别的永久变量,需要使用 /m 参数。例如,要设置系统级别的 PATH 环境变量,可以输入:

    setx PATH "%path%;C:\myfolder" /m
  3. 删除永久环境变量:

    setx 变量名 ""

    要删除名为 MYVAR 的永久环境变量,可以输入:

    setx MYVAR ""

请注意,在使用 setx 命令时,必须小心谨慎,因为它会直接修改系统的环境变量。确保你了解自己在做什么,并谨慎操作。

(53)set和setx的区别。

setsetx 在 Windows 命令行中都用于设置环境变量,但它们之间有一些重要的区别:

  1. 作用范围

    • set:所做的环境变量更改只在当前命令行窗口中有效,一旦关闭该窗口,所做的更改就会丢失。
    • setx:所做的环境变量更改是永久性的,它们会在系统重新启动后保持有效。
  2. 使用权限

    • set:通常需要管理员权限才能修改系统级别的环境变量。
    • setx:可以用来修改系统级别的环境变量,但通常需要管理员权限才能成功执行。
  3. 语法

    • set:简单的命令行工具,对环境变量的操作相对较为简单。
    • setx:提供了更复杂的选项,可以用来设置永久性的环境变量,并且可以指定是用户级别的还是系统级别的环境变量。

基本上,set 用于临时修改当前会话的环境变量,而 setx 用于永久性地修改系统的环境变量。根据你的需求,你可以选择适合的命令来管理环境变量。

 (54)把文件内的大小全改成小写。

Get-Content a.txt | ForEach-Object { $_.ToLower() } | Set-Content b.txt

其中的a.txt是要转小写的文件,b.txt是转好输出的文件。在powershell里面执行。

(55)PowerShell 提供了兼容模式,cmd。

语法是:cmd 

这将切换到 cmd.exe 的交互式模式,您可以在其中运行传统的批处理命令。

PowerShell 提供了兼容模式,可以在其中运行传统的命令提示符命令和批处理文件。您可以在 PowerShell 中执行 cmd 命令来切换到兼容模式,然后运行批处理命令。

PS D:\桌面> cmd
Microsoft Windows [版本 10.0.19043.1466]
(c) Microsoft Corporation。保留所有权利。
D:\桌面>c:
C:\>cd /d d:\桌面
d:\桌面>

二、批处理语法。

(1)批处理变量。

(1.1)命令行参数。

批处理脚本支持命令行参数的概念,其中参数可以在被调用时传递给批处理文件。参数可以通过变量%1%2%3等从批处理文件中调用。

以下示例显示了一个批处理文件,它接受3个命令行参数,并将它们回显到命令行屏幕。

@echo off 
echo %1 
echo %2 
echo %3

如果上面的批处理脚本存储在一个名为test.bat的文件中,我们将运行该批处理 -

Test.bat 1 2 3

以下是批处理文件执行时在命令提示符下的外观截图。

50.批处理脚本(2/2)_第1张图片

以上命令产生以下输出。

1 
2 
3

如果要运行批处理 -

Example 1 2 3 4

输出仍然与上面一样。 但是,第四个参数将被忽略。

(1.2)set命令

变量可以被初始化的另一种方式是通过“set”命令。 以下是set命令的语法。

语法

set /A variable-name=value

其中 -

  • variable-name - 是想要设置的变量的名称。
  • value - 是需要根据变量设置的值。
  • /A - 如果该值本质上是数值,则使用此开关。

以下示例显示了可以使用set命令的简单方法。

示例

@echo off 
set message=Hello World 
echo %message%
  • 在上面的代码片段中,定义了一个名为“message”的变量,其值为“Hello World”
  • 要显示变量的值,请注意变量需要包含在符号中。

以上命令产生以下输出 -

Hello World

(1.3)使用数字值

在批处理脚本中,也可以定义一个变量来保存一个数值。 这可以通过使用/A开关完成。
以下代码显示了可以使用/A开关设置数值的一种简单方法。

@echo off 
SET /A a=5 
SET /A b=10 
SET /A c=%a% + %b% 
echo %c%
  • 首先将2个变量ab的值分别设置为510
  • 相加这些值并存储在变量c中。
  • 最后,显示变量c的值。

上述程序的输出结果为15
所有的算术运算符都在批处理文件中工作。 以下示例显示算术运算符可以在批处理文件中使用。

@echo off 
SET /A a=5 
SET /A b=10 
SET /A c=%a% + %b% 
echo %c% 
SET /A c=%a% - %b% 
echo %c% 
SET /A c=%b% / %a% 
echo %c% 
SET /A c=%b% * %a% 
echo %c%

以上命令产生以下输出。

15 
-5 
2 
50

(1.4)局部与全局变量。(局部变量在setlocal与endlocal之间)

在任何编程语言中,都有一个选项可以将变量标记为具有某种范围,即可以访问它们的代码部分。 通常情况下,具有全局作用域的变量可以从程序中的任何地方访问,而局部作用域变量则有一个可以访问的定义的边界。

DOS脚本还定义了局部和全局范围的变量。 默认情况下,变量是整个命令提示符会话的全局变量。 调用SETLOCAL命令,使变量局部在脚本的范围内。 在调用SETLOCAL之后,任何变量赋值在调用ENDLOCAL,调用EXIT,或者当执行到达脚本中的文件结尾(EOF)时都会返回。 以下示例显示了在脚本中设置局部和全局变量时的差异。

示例

@echo off 
set globalvar=5
SETLOCAL
set var=13145
set /A var=%var% + 5
echo %var%
echo %globalvar%
ENDLOCAL

上述程序几乎没有重要的事情要注意。

  • 'globalvar'是用全局范围定义的,在整个脚本中都是可用的。
  • var变量是在局部范围内定义的,因为它被包含在setlocalendlocal块之间。 因此,这个变量在执行'ENDLOCAL'语句后就会被销毁。

以上命令产生以下输出。

13150
5

注意:命令echo %var%不会产生任何东西,因为在ENDLOCAL语句之后,'var'变量将不再存在。

(1.5)使用环境变量。

如果有跨批处理文件使用的变量,那么最好使用环境变量。 当定义了环境变量,就可以通过%符号来访问它。 以下示例显示如何查看系统上定义的JAVA_HOMEJAVA_HOME变量是各种应用程序通常使用的关键组件。

@echo off 
echo %JAVA_HOME%

输出将显示从系统到系统的JAVA_HOME目录。 以下是一个输出的例子。

C:\Users\Administrator>echo %JAVA_HOME%
D:\Program Files\Java\jdk1.8.0_65

(2)注册表。

(2.1)从注册表中读取是通过REG QUERY命令完成的。

REG QUERY HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows\

(2.2)添加到注册表是通过REG ADD命令完成的。

添加到注册表是通过REG ADD命令完成的。 请注意,为了向注册表添加值,需要在系统上拥有足够的权限才能执行此操作。

语法
REG ADD命令有以下变体。 在第二个变体中,没有为该键指定名称,并且将为该键添加“(默认)”的名称。

REG ADD [ROOT\]RegKey /v ValueName [/t DataType] [/S Separator] [/d Data] [/f]
REG ADD [ROOT\]RegKey /ve [/d Data] [/f]

其中,

  • ValueName - 在选定的RegKey下的值,进行编辑。
  • /d Data - 要存储为“字符串”,整数等的实际数据。
  • /f - 强制更新而不提示“值存在,覆盖Y/N”。
  • /S Separator - 在REG_MULTI_SZ值中用作分隔符的字符。 默认值是"\0"
  • /t DataType - 这些是根据注册表标准定义的数据类型,可以是 -
    • REG_SZ (默认)
    • REG_DWORD
    • REG_EXPAND_SZ
    • REG_MULTI_SZ

示例

@echo off 
REG ADD HKEY_CURRENT_USER\Console /v Test /d "Test Data" 
REG QUERY HKEY_CURRENT_USER\Console /v Test

在上面的例子中,第一部分是在注册表 - HKEY_CURRENT_USER\Console 下添加一个键。 这个键的名字是Test,分配给这个键的值是Test Data,它是默认的字符串类型。

第二个命令只是使用REG QUERY命令显示添加到注册表的内容。

以下将是上述方案的输出。 输出的第一行显示“添加”功能是成功的,第二个输出显示了注册表中的插入值。

The operation completed successfully. 
HKEY_CURRENT_USER\Console 
   Test REG_SZ Test Data

(2.3)从注册表中删除是通过REG DEL命令完成的。

从注册表中删除是通过REG DEL命令完成的。 请注意,为了从注册表中删除值,需要在系统上拥有足够的权限来执行此操作。

语法

REG DELETE命令有以下变体。 在第二个变体中,缺省值将被删除,在最后一个变体中,指定键下的所有值将被删除。

REG DELETE [ROOT\]RegKey /v ValueName [/f] 
   REG DELETE [ROOT\]RegKey /ve [/f] 
   REG DELETE [ROOT\]RegKey /va [/f]

其中,

  • ValueName - 在选定的RegKey下的值,进行编辑。
  • /f - 强制更新而不提示“值存在,覆盖Y/N”。

示例

@echo off
REG DELETE HKEY_CURRENT_USER\Console /v Test /f
REG QUERY HKEY_CURRENT_USER\Console /v Test

在上面的例子中,第一部分是删除注册表HKEY_CURRENT_USER\Console下的一个注册表项。 键的名称是Test。 第二个命令只是使用REG QUERY命令显示删除注册表的内容。 从这个命令,应该期待一个错误,只是为了确保键真正被删除了。

以下将是上述程序的输出。 输出的第一行显示“删除”功能成功,第二个输出显示错误,确认键确实已从注册表中删除。

The operation completed successfully. 
ERROR: The system was unable to find the specified registry key or value.

(2.4)从注册表复制是通过REG COPY命令完成的。

从注册表复制是通过REG COPY命令完成的。 请注意,为了从注册表复制值,您需要在系统上拥有足够的权限才能在源位置和目标位置上执行此操作。

语法

REG COPY [\\SourceMachine\][ROOT\]RegKey [\\DestMachine\][ROOT\]RegKey

示例

@echo off 
REG COPY HKEY_CURRENT_USER\Console HKEY_CURRENT_USER\Console\Test 
REG QUERY HKEY_CURRENT_USER\Console\Test

在上面的例子中,第一部分是将内容从位置HKEY_CURRENT_USER\Console复制到同一台机器上的HKEY_CURRENT_USER\Console\Test位置。 第二个命令用于查询新的位置,以检查是否所有的值都被正确复制。

以下是上述程序的输出。 输出的第一行显示“复制”功能是成功的,第二个输出显示了复制的位置中的值。

The operation completed successfully.
HKEY_CURRENT_USER\Console\Test
   HistoryNoDup REG_DWORD 0x0
   FullScreen REG_DWORD 0x0
   ScrollScale REG_DWORD 0x1
   ExtendedEditKeyCustom REG_DWORD 0x0
   CursorSize REG_DWORD 0x19
   FontFamily REG_DWORD 0x0
   ScreenColors REG_DWORD 0x7
   TrimLeadingZeros REG_DWORD 0x0
   WindowSize REG_DWORD 0x190050
   LoadConIme REG_DWORD 0x1
   PopupColors REG_DWORD 0xf5
   QuickEdit REG_DWORD 0x0
   WordDelimiters REG_DWORD 0x0
   ColorTable10 REG_DWORD 0xff00
   ColorTable00 REG_DWORD 0x0
   ColorTable11 REG_DWORD 0xffff00
   ColorTable01 REG_DWORD 0x800000
   ColorTable12 REG_DWORD 0xff

(2.5)比较注册表项是通过REG COMPARE命令完成的。

比较注册表项是通过REG COMPARE命令完成的。

语法

REG COMPARE [ROOT\]RegKey [ROOT\]RegKey [/v ValueName] [Output] [/s]
REG COMPARE [ROOT\]RegKey [ROOT\]RegKey [/ve] [Output] [/s]

示例

其中输出 - /od(仅差异)/os(仅匹配)/oa(全部)/on(不输出)。

@echo off
REG COMPARE HKEY_CURRENT_USER\Console HKEY_CURRENT_USER\Console\Test

上述程序将比较注册表项HKEY_CURRENT_USER\Console & HKEY_CURRENT_USER\Console\Test之间的所有值。输出结果如下 -

Result Compared: Identical
The operation completed successfully.

如果两个注册表项中的值存在差异,则会在输出中显示,如以下结果所示。 以下输出显示“EnableColorSelection”的值是额外的注册表项"HKEY_CURRENT_USERConsole"

< Value: HKEY_CURRENT_USER\Console EnableColorSelection REG_DWORD 0x0
Result Compared: Different
The operation completed successfully.

你可能感兴趣的:(web技术,批处理,脚本语言,dos命令,批处理教程)