window的dos命令学习笔记 三

一、dos历史学习笔记(后期整合到这里)

这个是我所以的dos学习笔记,希望对感兴趣的你有所帮助,如有错误,还望不吝赐教。如果对你有帮助,希望给我点个赞哈,Thanks♪(・ω・)ノ

学习主要还是靠坚持,如果真的觉得学一个知识,就坚持下去;三天打鱼俩天晒网,真的不如躺着歇,刷刷剧,或者玩俩局游戏。。。

window的dos命令学习笔记 一

window的dos命令学习笔记 二

window的dos命令学习笔记 三

window的dos命令学习笔记 四

window的dos命令学习笔记 五

window的dos命令学习笔记 六

window的dos命令学习笔记 七

window的dos命令学习笔记 八— bat文件打包成exe程序(实现脚本加密)

window的dos命令学习笔记 九— bat使用小工具

二、实战演练:

1、常用DOS命令(1)-- 文件夹管理

之前的有些前面笔记中学习记录过了,就不会过多的再写了。

cd 显示当前目录名或改变当前目录。
md 创建目录。
rd 删除一个目录。
dir 显示目录中的文件和子目录列表。
tree 以图形显示驱动器或路径的文件夹结构。
path 为可执行文件显示或设置一个搜索路径。
xcopy 复制文件和目录树。

比如,rd在笔记一写过,不过多阐述了。就是删除目录的命令,可以结合del可以高效的删除文件,大量文件删除的时候比较实用。

①、cd(改变当前目录):

我们用CD命令来改变当前目录,输入CD DOS,那么当前目录就变成了 DOS,有时我们把改变当前目录为一个子目录叫做进入该子目录,那么我们现在就是进入了DOS目录,再输入CD TEMP,那么我们又会进入TEMP目录了,如何退出TEMP目录呢? 只要键入CD …,回车,我们就可以回到DOS目录了。在DOS中,这个两点就表示当前目录的上一层目录,一个点表示当前目录,有时,我们叫上一级目录为父目录。 再输入CD …,然后回车,我们就回到了C盘的根目录。
  进入一个目录的子目录并不需要用CD命令一层一层进入,可以用一行命令完成,比如要进入 WINDOWS目录下的SYSTEM子目录,只要输入CD WINDOWS\SYSTEM就可以了,也可以输入CD C:\WINDOWS\SYSTEM,如果要回到根目录,那么也不必多次输入CD …来完成, 可以直接输入CD \,\就表示根目录。

几个很常用的特殊字符:
我想找当前目录的字符,结果找到一个很好的问答总结,参考地址

echo 当前盘符:%~d0
echo 当前盘符和路径:%~dp0
echo 当前批处理全路径:%~f0
echo 当前盘符和路径的短文件名格式:%~sdp0
echo 当前CMD默认目录:%cd%

写一个bat命令:
代码:

@echo off
echo 当前盘符:%~d0
echo 当前盘符和路径:%~dp0
echo 当前批处理全路径:%~f0
echo 当前盘符和路径的短文件名格式:%~sdp0
echo 当前CMD默认目录:%cd%
pause

运行结果:
在这里插入图片描述

因为我想找当前目录,所以可以使用:当前盘符和路径:%~dp0

②、使用start cmd可以在当前目录下进入cmd

刚刚测试时候,突然找到一个可以直接当前目录打开cmd的bat,执行:

bat文件写入这个:

start cmd

执行即可在当前目录下打开cmd,这样可以很方便:

加粗样式

点击执行之后,可以再当前文件夹下打开cmd,我的公司电脑不知道为什么不行cd 目录进入当我目录,只可以powershell进入,所以以后这个bat文件可以方便我后续使用cmd。

在这里插入图片描述

这样以后再次需要再cmd中执行各种需要的命令,就不要特意使用cd切换,只需要留着这个脚本即可,或者自己随时写一行命令即可,提高一些效率。

③、md/mkdir(俩者一样,都是创建目录的意思)

这个和linux的mkdir是一样的,都是可以创建目录的意思。

MKDIR [drive:]path
MD [drive:]path

如果命令扩展被启用,MKDIR 会如下改变:

如果需要,MKDIR 会在路径中创建中级目录。例如: 假设 \a 不
存在,那么:

mkdir \a\b\c\d

与:

mkdir \a
chdir \a
mkdir b
chdir b
mkdir c
chdir c
mkdir d

相同。如果扩展被停用,则需要键入 mkdir \a\b\c\d。

mkdir .\a\b\c\d

执行之后,会在当前目录下递归的创建目录,a\b\c\d

在这里插入图片描述
也可以但创建一层。

④、dir(显示目录下的文件)

直接查看帮助文档:

E:\000dos\3笔记三>dir /?
显示目录中的文件和子目录列表。

DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]
  [/O[[:]sortorder]] [/P] [/Q] [/R] [/S] [/T[[:]timefield]] [/W] [/X] [/4]

  [drive:][path][filename]
              指定要列出的驱动器、目录和/或文件。

  /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          用四位数字显示年

可以在 DIRCMD 环境变量中预先设定开关。通过添加前缀 - (破折号)
来替代预先设定的开关。例如,/-W。

这个我讲解一点:比如:

 /A          显示具有指定属性的文件。
  属性         D  目录                R  只读文件
               H  隐藏文件            A  准备存档的文件
               S  系统文件            I  无内容索引文件
               L  解析点             -  表示“否”的前缀

这种双属性的用法,我也是测试了好一会才懂,单个的/A我们一看就懂,但后面更详细的使用:
比如我如果只想查询当前目录下的目录:

dir /ad

只需要把他们连着写到参数里面即可。通过测试,不缺分大小写。
在这里插入图片描述

比如排序的,高级用法应该会用到这些:
在这里插入图片描述

⑤、tree(显示目录下的文件–树)

以图形显示驱动器或路径的文件夹结构。

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

/F 显示每个文件夹中文件的名称。
/A 使用 ASCII 字符,而不使用扩展字符。

  1. 单写一个tree(这个只显示当前地址下的目录树)

在这里插入图片描述

  1. tree /f
    这样才会把所有的文件也显示出来。(和Linux的tree有点像)
    在这里插入图片描述

  2. linux的tree命令:
    太长没有截图截完。
    在这里插入图片描述

  3. tree + 参数 + 目录
    在这里插入图片描述

⑥、path(环境变量)

cmd中敲入path回车就会打印出当前的环境变量。
也可以修改当时的cmd环境下的path,比如:敲入path python
这时候环境变量就会变成python,再敲入python不会执行了,
在这里插入图片描述
再次证明dos命令是可以使用的。
在这里插入图片描述

⑦、xcopy(复制文件或者目录)

   xcopy    拷贝目录和文件 
[适用场合]  在进行连同子目录一起拷贝时很有用,在拷贝大量文件时比COPY命令
        要快得多 
[用  法]  xcopy [文件名] [目录]       将指定文件拷贝到指定目录 
        xcopy [源目录] [目的目录]  将源目录连子目录考到目的目录下 
        xcopy *.* [目录] /s   将文件与非空子目录拷贝到指定目录 
        其它常用参数还有: v 拷贝后校验,会影响速度
                  e 与s 相似,但即使子目录是空的也会拷贝。

更多参数:

E:\000dos\3笔记三>xcopy /?
复制文件和目录树。

XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
                           [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
                           [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B] [/J]
                           [/EXCLUDE:file1[+file2][+file3]...]
 source       指定要复制的文件。
  destination  指定新文件的位置和/或名称。
  /A           仅复制有存档属性集的文件,
               但不更改属性。
  /M           仅复制有存档属性集的文件,
               并关闭存档属性。
  /D:m-d-y     复制在指定日期或指定日期以后更改的文件。
               如果没有提供日期,只复制那些
               源时间比目标时间新的文件。
  /EXCLUDE:file1[+file2][+file3]...
               指定含有字符串的文件列表。每个字符串
               在文件中应位於单独的一行。如果任何
               字符串与复制文件的绝对路径的任何部分相符,
               则排除复制该文件。例如,
               指定如 \obj\ 或 .obj 的字符串会分别
               排除目录 obj 下面的所有文件或带有
               .obj 扩展名的所有文件。
  /P           创建每个目标文件之前提示你。
  /S           复制目录和子目录,不包括空目录。
  /E           复制目录和子目录,包括空目录。
               与 /S /E 相同。可以用来修改 /T。
  /V           验证每个新文件的大小。
  /W           提示你在复制前按键。
  /C           即使有错误,也继续复制。
  /I           如果目标不存在,且要复制多个文件,
               则假定目标必须是目录。
  /Q           复制时不显示文件名。
  /F           复制时显示完整的源文件名和目标文件名。
  /L           显示要复制的文件。
  /G           允许将加密文件复制到
               不支持加密的目标。
  /H           也复制隐藏文件和系统文件。
  /R           覆盖只读文件。
  /T           创建目录结构,但不复制文件。不
               包括空目录或子目录。/T /E 包括
               空目录和子目录。
  /U           只复制已经存在于目标中的文件。
  /K           复制属性。一般的 Xcopy 会重置只读属性。
  /N           用生成的短名称复制。
  /O           复制文件所有权和 ACL 信息。
  /X           复制文件审核设置(隐含 /O)。
  /Y           取消提示以确认要覆盖
               现有目标文件。
  /-Y          要提示以确认要覆盖
               现有目标文件。
  /Z           在可重新启动模式下复制网络文件。
  /B           复制符号链接本身与链接目标。
  /J           复制时不使用缓冲的 I/O。推荐复制大文件时使用。

开关 /Y 可以预先在 COPYCMD 环境变量中设置。
这可能被命令行上的 /-Y 覆盖。

第一次复制过来:

xcopy e:\000dos\2笔记二 .

在这里插入图片描述
第二次提示:
在这里插入图片描述
第三次/y参数,不提示直接覆盖:
在这里插入图片描述

2、常用DOS命令(2)-- 文件管理

type 显示文本文件的内容。
copy 将一份或多份文件复制到另一个位置。
del 删除一个或数个文件。
move 移动文件并重命名文件和目录。(Windows XP Home Edition中没有)
ren 重命名文件。

①、type(查看文本内容)

type 后面直接跟文件地址即可,相对或者绝对路径都行。
在这里插入图片描述

②、copy(复制文件)

将一份或多份文件复制到另一个位置。

E:\000dos\3笔记三>copy /?
将一份或多份文件复制到另一个位置。

COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B]
     [+ source [/A | /B] [+ ...]] [destination [/A | /B]]

  source       指定要复制的文件。
  /A           表示一个 ASCII 文本文件。
  /B           表示一个二进位文件。
  /D           允许解密要创建的目标文件
  destination  为新文件指定目录和/或文件名。
  /V           验证新文件写入是否正确。
  /N           复制带有非 8dot3 名称的文件时,
               尽可能使用短文件名。
  /Y           不使用确认是否要覆盖现有目标文件
               的提示。
  /-Y          使用确认是否要覆盖现有目标文件
               的提示。
  /Z           用可重新启动模式复制已联网的文件。
  /L           如果源是符号链接,请将链接复制
               到目标而不是源链接指向的实际文件。

命令行开关 /Y 可以在 COPYCMD 环境变量中预先设定。
这可能会被命令行上的 /-Y 替代。除非 COPY
命令是在一个批处理脚本中执行的,默认值应为
在覆盖时进行提示。

要附加文件,请为目标指定一个文件,为源指定
数个文件(用通配符或 file1+file2+file3 格式)

/y参数,copy和xcopy都一样。
在这里插入图片描述

③、del(删除文件)

这个我的笔记一里面有过,就不在写了,可以参考:

④、move(移动)

这个我的笔记一也写了,详情看笔记一:地址

⑤、ren(重命名,可以用来修改文件名后缀)

重命名文件。

RENAME [drive:][path]filename1 filename2.
REN [drive:][path]filename1 filename2.

请注意,你不能为目标文件指定新的驱动器或路径。

我这里结合前面的set /p就是python的input功能,写个对文件重命名的bat脚本。
代码:

@echo off
set /P b=请输入需要修改的文件名(名字+后缀)
ren %1 %b%
pause

记得保存问bat文件,然后把需要修改的文件拖入这个bat文件:
比如我写个hello.txt:

echo hello ren
pause

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
执行完毕:文件名后缀修改成功。
在这里插入图片描述

我把这个方法增加到博客:
window10 系统下如何修改文件后缀

3、常用dos命令(3)-- 网络命令

ping 进行网络连接测试、名称解析
ftp 文件传输
net 网络命令集及用户管理
telnet 远程登陆
ipconfig显示、修改TCP/IP设置
msg 给用户发送消息
arp 显示、修改局域网的IP地址-物理地址映射列表

说实话,这个部分我真的不会,如果有懂的好的文章或者链接,欢迎下方浏览,不胜感激。只能后续用到再来补充这些知识了,这几个我就用过pingipconfig,其他的真的没有接触过,先记录下来,如果后续用到,学会了再来补充,如果你也没有用过剩下几个,可以先把这几个跳过(当然感兴趣可以学习学习)。

①、ping(测试连接网站或者ip)

ping命令看似小小的一个工具,但它带有许多参数,要完全掌握它的使用方法还真不容易,要达到熟练使用则更是难下加难,但不管怎样我们还得来看看它的真面目,首先我们还是从最基本的命令格式入手吧!

用法:

ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [[-j host-list] | [-k host-list]]
[-w timeout] [-R] [-S srcaddr] [-c compartment] [-p]
[-4] [-6] target_name

选项:

	-t             Ping 指定的主机,直到停止。
                   若要查看统计信息并继续操作,请键入 Ctrl+Break;
                   若要停止,请键入 Ctrl+C。
    -a             将地址解析为主机名。
    -n count       要发送的回显请求数。
    -l size        发送缓冲区大小。
    -f             在数据包中设置“不分段”标记(仅适用于 IPv4)。
    -i TTL         生存时间。
    -v TOS         服务类型(仅适用于 IPv4。该设置已被弃用,
                   对 IP 标头中的服务类型字段没有任何
                   影响)。
    -r count       记录计数跃点的路由(仅适用于 IPv4)。
    -s count       计数跃点的时间戳(仅适用于 IPv4)。
    -j host-list   与主机列表一起使用的松散源路由(仅适用于 IPv4)。
    -k host-list    与主机列表一起使用的严格源路由(仅适用于 IPv4)。
    -w timeout     等待每次回复的超时时间(毫秒)。
    -R             同样使用路由标头测试反向路由(仅适用于 IPv6)。
                   根据 RFC 5095,已弃用此路由标头。
                   如果使用此标头,某些系统可能丢弃
                   回显请求。
    -S srcaddr     要使用的源地址。
    -c compartment 路由隔离舱标识符。
    -p             Ping Hyper-V 网络虚拟化提供程序地址。
    -4             强制使用 IPv4。
    -6             强制使用 IPv6。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这个我很少用,需要的自己再网上搜着学习一下吧。

②、ftp(文件传输,我还没有用过)

将文件传送到运行 FTP 服务器服务(经常称为后台程序)的计算机以及将文件从该计算机传出。可以交互使用 Ftp。
格式:

FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-A] [-x:sendbuffer] [-r:recvbuffer] [-b:asyncbuffers] [-w:windowsize] [host]

参数:

  -v              禁止显示远程服务器响应。
  -n              禁止在初始连接时自动登录。
  -i              关闭多文件传输过程中的
                  交互式提示。
  -d              启用调试。
  -g              禁用文件名通配(请参阅 GLOB 命令)。
  -s:filename     指定包含 FTP 命令的文本文件;命令
                  在 FTP 启动后自动运行。
  -a              在绑字数据连接时使用所有本地接口。
  -A              匿名登录。
  -x:send sockbuf 覆盖默认的 SO_SNDBUF 大小 8192。
  -r:recv sockbuf 覆盖默认的 SO_RCVBUF 大小 8192。
  -b:async count  覆盖默认的异步计数 3
  -w:windowsize   覆盖默认的传输缓冲区大小 65535。
  host            指定主机名称或要连接到的远程主机
                  的 IP 地址。

注意:

  • mget 和 mput 命令将 y/n/q 视为 yes/no/quit。
  • 使用 Ctrl-C 中止命令。

我找到一个博客写的还挺详细的,感兴趣的可以去看看,或者网上再多搜索搜索相关知识学习学习。
博客地址:
找到一个例子:

例:
open 90.52.8.3   #打开ip
user iware       #用户为iware
password8848    #密码
bin             #二进制传输模式
prompt
cd tmp1         #切换至iware用户下的tmp1目录
pwd
lcd d:\download   #本地目录
mget *          #下载tmp1目录下的所有文件
bye             #退出ftp

③、net(还未真正测试)

(1)net share - 查看共享命令
net share ipc$ - 设置ipcnetshareipc共享 net share ipc /del - 删除ipc(xp)netsharec共享 (xp系统无法删除) net share c=c: - 设置c盘为共享

(2)net user - 查看本地的用户列表
net user 用户名 密码 /add - 增加一个用户
net user 用户名 /add 或 net user 用户名 “” /add - 增加一个密码为空的用户
net user 用户名 /del - 删除某个用户名
net user 用户名 /active:yes(no) - 设置某个用户的状态为启用(禁用)

(3)net localgroup administrators - 查看管理员组里的用户(即权限为管理员的用户)
net localgroup administrators 用户名 /add - 把某个用户增加到管理员组里
net localgroup administrators 用户名 /del - 从管理员组里删除某个用户
注意:

  1. 增加到某个组里的用户必须是已经被创建过的用户.
  2. 增加到的组必须为存在的组.

(4)net start - 查看已经启动的服务列表
net start 服务名 - 开启某个服务 注意:要想成功的开启一个服务,前提是它被停用
了,而不是被禁止
net stop 服务名 - 停止某个服务 注意:停止的服务必须是已经启动的,而不是已经
停止或是被禁止的

④、telnet (未测试)

telnet命令的一般形式为:

telnet 主机名/IP

其中“主机名/IP”是要连接的远程机的主机名或IP地址。
例: telnet 192.168.0.1

如果这一命令执行成功,将从远程机上得到login:提示符。
使用telnet命令登录的过程如下:$ telnet 主机名/IP 启动telnet会话。
一旦telnet成功地连接到远程系统上,就显示登录信息并提示用户输人用户名和口令。如果用户名和口令输入正确,就能成功登录并在远程系统上工作。在 telnet提示符后面可以输入很多命令,用来控制telnet会话过程,在telnet联机帮助手册中对这些命令有详细的说明。

⑤、ipconfig(我主要用来查本机ip地址用,其他很少用)

用法:

 ipconfig [/allcompartments] [/? | /all |
                                 /renew [adapter] | /release [adapter] |
                                 /renew6 [adapter] | /release6 [adapter] |
                                 /flushdns | /displaydns | /registerdns |
                                 /showclassid adapter |
                                 /setclassid adapter [classid] |
                                 /showclassid6 adapter |
                                 /setclassid6 adapter [classid] ]

其中
adapter 连接名称
(允许使用通配符 * 和 ?,参见示例)

选项:
   /?               显示此帮助消息
   /all             显示完整配置信息。
   /release         释放指定适配器的 IPv4 地址。
   /release6        释放指定适配器的 IPv6 地址。
   /renew           更新指定适配器的 IPv4 地址。
   /renew6          更新指定适配器的 IPv6 地址。
   /flushdns        清除 DNS 解析程序缓存。
   /registerdns     刷新所有 DHCP 租用并重新注册 DNS 名称
   /displaydns      显示 DNS 解析程序缓存的内容。
   /showclassid     显示适配器允许的所有 DHCP 类 ID。
   /setclassid      修改 DHCP 类 ID。
   /showclassid6    显示适配器允许的所有 IPv6 DHCP 类 ID。
   /setclassid6     修改 IPv6 DHCP 类 ID。

默认情况下,仅显示绑定到 TCP/IP 的每个适配器的 IP 地址、子网掩码和
默认网关。

对于 Release 和 Renew,如果未指定适配器名称,则会释放或更新所有绑定到 TCP/IP 的适配器的 IP 地址租用。

对于 Setclassid 和 Setclassid6,如果未指定 ClassId,则会删除ClassId。

示例:

    > ipconfig                       ... 显示信息
    > ipconfig /all                  ... 显示详细信息
    > ipconfig /renew                ... 更新所有适配器
    > ipconfig /renew EL*            ... 更新所有名称以 EL 开头
                                         的连接
    > ipconfig /release *Con*        ... 释放所有匹配的连接,
                                         例如“有线以太网连接 1”或
                                             “有线以太网连接 2”
    > ipconfig /allcompartments      ... 显示有关所有隔离舱的
                                         信息
    > ipconfig /allcompartments /all ... 显示有关所有隔离舱的
                                         详细信息

⑥、msg(未测试,后续如果学到再来补充)

将消息发送给用户。

MSG {username | sessionname | sessionid | @filename | *}
    [/SERVER:servername] [/TIME:seconds] [/V] [/W] [message]

参数使用说明:

  username            标识指定的用户名。
  sessionname         会话名。
  sessionid           会话 ID。
  @filename           识别这样一个文件,该文件含有将所发消息发送到的用户
                      名、会话名和会话标识号的列表。
  *                   给指定服务器上的所有会话发送信息。
  /SERVER:servername  要联系的服务器(默认值是当前值)。
  /TIME:seconds       等待接收器确认消息的时间延迟。
  /V                  显示有关执行的操作的信息。
  /W                  等待用户的响应,跟 /V 一起有用。
  message             要发送的消息。如果没有指定,发出提示,或者从 stdin
                      读取。

⑦、arp(未测试,后续学到再来补充)

E:\000dos\3笔记三>arp /?

显示和修改地址解析协议(ARP)使用的“IP 到物理”地址转换表。

ARP -s inet_addr eth_addr [if_addr]
ARP -d inet_addr [if_addr]
ARP -a [inet_addr] [-N if_addr] [-v]

  -a            通过询问当前协议数据,显示当前 ARP 项。
                如果指定 inet_addr,则只显示指定计算机
                的 IP 地址和物理地址。如果不止一个网络
                接口使用 ARP,则显示每个 ARP 表的项。
  -g            与 -a 相同。
  -v            在详细模式下显示当前 ARP 项。所有无效项
                和环回接口上的项都将显示。
  inet_addr     指定 Internet 地址。
  -N if_addr    显示 if_addr 指定的网络接口的 ARP 项。
  -d            删除 inet_addr 指定的主机。inet_addr 可
                以是通配符 *,以删除所有主机。
  -s            添加主机并且将 Internet 地址 inet_addr
                与物理地址 eth_addr 相关联。物理地址是用
                连字符分隔的 6 个十六进制字节。该项是永久的。
  eth_addr      指定物理地址。
  if_addr       如果存在,此项指定地址转换表应修改的接口
                的 Internet 地址。如果不存在,则使用第一
                个适用的接口。
示例:
  > arp -s 157.55.85.212   00-aa-00-62-c6-09.... 添加静态项。
  > arp -a                                  .... 显示 ARP 表。

4、常用DOS命令(4)-- 系统管理

  1. at 安排在特定日期和时间运行命令和程序
  2. shutdown立即或定时关机或重启
  3. taskkill结束进程(WinXPHome版中无该命令)
  4. tasklist显示进程列表(Windows XP Home Edition中没有)
  5. reg 注册表控制台工具

这个我也很少接触过,我只是用过shutdown,用来定时关机或者重启。

①、at(windows已经使用schtasks.exe替代)

AT命令是Windows XP中内置的命令,它也可以媲美Windows中的“计划任务”,而且在计划的安排、任务的管理、工作事务的处理方面,AT命令具有更强大更神通的功能。AT命令可在指定时间和日期、在指定计算机上运行命令和程序。

我们可以在“开始→运行”中输入AT命令,下面就来看看AT命令的一些实例分析。

E:\000dos\3笔记三>at
AT 命令已弃用。请改用 schtasks.exe。

不支持该请求

schtasks (任务,window已经替代at)

E:\000dos\3笔记三>schtasks /?

SCHTASKS /parameter [arguments]

描述:
    允许管理员创建、删除、查询、更改、运行和中止本地或远程系统上的计划任
    务。

参数列表:
    /Create         创建新计划任务。

    /Delete         删除计划任务。

    /Query          显示所有计划任务。

    /Change         更改计划任务属性。

    /Run            按需运行计划任务。

    /End            中止当前正在运行的计划任务。

    /ShowSid        显示与计划的任务名称相应的安全标识符。

    /?              显示此帮助消息。

Examples:
    SCHTASKS
    SCHTASKS /?
    SCHTASKS /Run /?
    SCHTASKS /End /?
    SCHTASKS /Create /?
    SCHTASKS /Delete /?
    SCHTASKS /Query  /?
    SCHTASKS /Change /?
    SCHTASKS /ShowSid /?

任务计划程序(我的是windows10系统)

使用搜索任务,即可出来任务计划程序,可以设置自动化执行程序。比如每天什么时间打开某个软件或者执行一个脚本。
在这里插入图片描述
在这里插入图片描述
其他随便看着填写就行,主要就是操作(可以设置需要执行的脚本和软件)、条件(什么时候执行)和设置(设置时间可频率)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

②、shutdown(关机重启)

E:\000dos\3笔记三>shutdown /?
用法: shutdown [/i | /l | /s | /sg | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/fw] [/f]
    [/m \\computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]

    没有参数   显示帮助。这与键入 /? 是一样的。
    /?         显示帮助。这与不键入任何选项是一样的。
    /i         显示图形用户界面(GUI)。
               这必须是第一个选项。
    /l         注销。这不能与 /m 或 /d 选项一起使用。
    /s         关闭计算机。
    /sg        关闭计算机。在下一次启动时,
               重启任何注册的应用程序。
    /r         完全关闭并重启计算机。
    /g         完全关闭并重新启动计算机。在重新启动系统后,
               重启任何注册的应用程序。
    /a         中止系统关闭。
               这只能在超时期间使用。
               与 /fw 结合使用,以清除任何未完成的至固件的引导。
    /p         关闭本地计算机,没有超时或警告。
               可以与 /d 和 /f 选项一起使用。
    /h         休眠本地计算机。
               可以与 /f 选项一起使用。
    /hybrid    执行计算机关闭并进行准备以快速启动。
               必须与 /s 选项一起使用。
    /fw        与关闭选项结合使用,使下次启动转到
               固件用户界面。
    /e         记录计算机意外关闭的原因。
    /o         转到高级启动选项菜单并重新启动计算机。
               必须与 /r 选项一起使用。
    /m \\computer 指定目标计算机。
    /t xxx     将关闭前的超时时间设置为 xxx 秒。
               有效范围是 0-315360000 (10 年),默认值为 30。
               如果超时时间大于 0,则默示为
               /f 参数。
    /c "comment" 有关重新启动或关闭的原因的注释。
               最多允许 512 个字符。
    /f         强制关闭正在运行的应用程序而不事先警告用户。
               如果为 /t 参数指定大于 0 的值,
               则默示为 /f 参数。
    /d [p|u:]xx:yy  提供重新启动或关闭的原因。
               p 指示重启或关闭是计划内的。
               u 指示原因是用户定义的。
               如果未指定 p 也未指定 u,则重新启动或关闭
               是计划外的。
               xx 是主要原因编号(小于 256 的正整数)。
               yy 是次要原因编号(小于 65536 的正整数)

示例:
我常用的是关机功能,重启偶尔用一次。
比如:

  1. 十分钟后自动关机:
shutdown -s -t 600
  1. 五分钟后重启
shutdown -r -t 300

③、taskkill (关闭进程)

查看帮助文档

E:\000dos\3笔记三>taskkill /?
TASKKILL [/S system [/U username [/P [password]]]]
         { [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]

描述:

 使用该工具按照进程 ID (PID) 或映像名称终止任务。

参数列表:

    /S    system           指定要连接的远程系统。

    /U    [domain\]user    指定应该在哪个用户上下文执行这个命令。

    /P    [password]       为提供的用户上下文指定密码。如果忽略,提示
                           输入。

    /FI   filter           应用筛选器以选择一组任务。
                           允许使用 "*"。例如,映像名称 eq acme*

    /PID  processid        指定要终止的进程的 PID。
                           使用 TaskList 取得 PID。

    /IM   imagename        指定要终止的进程的映像名称。通配符 '*'可用来
                           指定所有任务或映像名称。

    /T                     终止指定的进程和由它启用的子进程。

    /F                     指定强制终止进程。

    /?                     显示帮助消息。

筛选器:

    筛选器名      有效运算符                有效值
    -----------   ---------------           -------------------------
    STATUS        eq, ne                    RUNNING |
                                            NOT RESPONDING | UNKNOWN
    IMAGENAME     eq, ne                    映像名称
    PID           eq, ne, gt, lt, ge, le    PID 值
    SESSION       eq, ne, gt, lt, ge, le    会话编号。
    CPUTIME       eq, ne, gt, lt, ge, le    CPU 时间,格式为
                                            hh:mm:ss。
                                            hh - 时,
                                            mm - 分,ss - 秒
    MEMUSAGE      eq, ne, gt, lt, ge, le    内存使用量,单位为 KB
    USERNAME      eq, ne                    用户名,格式为 [domain\]user
    MODULES       eq, ne                    DLL 名称
    SERVICES      eq, ne                    服务名称
    WINDOWTITLE   eq, ne                    窗口标题
**说明**

1) 只有在应用筛选器的情况下,/IM 切换才能使用通配符 '*'。
2) 远程进程总是要强行 (/F) 终止。
3) 当指定远程机器时,不支持 "WINDOWTITLE" 和 "STATUS" 筛选器。

例如:

TASKKILL /IM notepad.exe
TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
TASKKILL /F /IM cmd.exe /T
TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
TASKKILL /S system /U 域\用户名 /FI "用户名 ne NT*" /IM *
TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"

这个功能和Ctrl + shift + Esc进入任务管理器,进入管理器找到需要需要关闭的任务或者程序进程,右击结束任务即可。

④、tasklist (任务列表)

E:\000dos\3笔记三>tasklist /?

TASKLIST [/S system [/U username [/P [password]]]]
         [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]

描述:

该工具显示在本地或远程机器上当前运行的进程列表。

参数列表:

   /S     system           指定连接到的远程系统。

   /U     [domain\]user    指定应该在哪个用户上下文执行这个命令。

   /P     [password]       为提供的用户上下文指定密码。如果省略,则
                           提示输入。

   /M     [module]         列出当前使用所给 exe/dll 名称的所有任务。
                           如果没有指定模块名称,显示所有加载的模块。

   /SVC                    显示每个进程中主持的服务。

   /APPS 显示 Microsoft Store 应用及其关联的进程。

   /V                      显示详细任务信息。

   /FI    filter           显示一系列符合筛选器
                           指定条件的任务。

   /FO    format           指定输出格式。
                           有效值: "TABLE""LIST""CSV"。

   /NH                     指定列标题不应该
                           在输出中显示。
                           只对 "TABLE""CSV" 格式有效。

   /?                      显示此帮助消息。

筛选器:

    筛选器名称      有效运算符                有效值
    -----------     ---------------           --------------------------
    STATUS          eq, ne                    RUNNING | SUSPENDED
                                              NOT RESPONDING | UNKNOWN
    IMAGENAME       eq, ne                    映像名称
    PID             eq, ne, gt, lt, ge, le    PID 值
    SESSION         eq, ne, gt, lt, ge, le    会话编号
    SESSIONNAME     eq, ne                    会话名称
    CPUTIME         eq, ne, gt, lt, ge, le    CPU 时间,格式为
                                              hh:mm:ss。
                                              hh - 小时,
                                              mm - 分钟,ss - 秒
    MEMUSAGE        eq, ne, gt, lt, ge, le    内存使用(以 KB 为单位)
    USERNAME        eq, ne                    用户名,格式为
                                              [域\]用户
    SERVICES        eq, ne                    服务名称
    WINDOWTITLE     eq, ne                    窗口标题
    模块         eq, ne                    DLL 名称

注意: 当查询远程计算机时,不支持 “WINDOWTITLE” 和 “STATUS”
筛选器。

示例:

TASKLIST
TASKLIST /M
TASKLIST /V /FO CSV
TASKLIST /SVC /FO LIST
TASKLIST /APPS /FI "STATUS eq RUNNING"
TASKLIST /M wbem*
TASKLIST /S system /FO LIST
TASKLIST /S system /U 域\用户名 /FO CSV /NH
TASKLIST /S system /U username /P password /FO TABLE /NH
TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running"

查询这个也可以结合管道和find进行查询:

比如:

E:\000dos\3笔记三>tasklist /M | find "cmd"
cmd.exe                      30764 ntdll.dll, KERNEL32.DLL, KERNELBASE.dll,
cmd.exe                      35856 ntdll.dll, KERNEL32.DLL, KERNELBASE.dll,
                                   bcryptPrimitives.dll, cmdext.dll,
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章