文章目录
- 一、dos历史学习笔记(后期整合到这里)
- 二、实战演练:
- 1、常用DOS命令(1)-- 文件夹管理
- ①、cd(改变当前目录):
- ②、使用`start cmd`可以在当前目录下进入cmd
- ③、md/mkdir(俩者一样,都是创建目录的意思)
- ④、dir(显示目录下的文件)
- ⑤、tree(显示目录下的文件--树)
- ⑥、path(环境变量)
- ⑦、xcopy(复制文件或者目录)
- 2、常用DOS命令(2)-- 文件管理
- 3、常用dos命令(3)-- 网络命令
- ①、ping(测试连接网站或者ip)
- ②、ftp(文件传输,我还没有用过)
- ③、net(还未真正测试)
- ④、telnet (未测试)
- ⑤、ipconfig(我主要用来查本机ip地址用,其他很少用)
- ⑥、msg(未测试,后续如果学到再来补充)
- ⑦、arp(未测试,后续学到再来补充)
- 4、常用DOS命令(4)-- 系统管理
一、dos历史学习笔记(后期整合到这里)
这个是我所以的dos学习笔记,希望对感兴趣的你有所帮助,如有错误,还望不吝赐教。如果对你有帮助,希望给我点个赞哈,Thanks♪(・ω・)ノ
学习主要还是靠坚持,如果真的觉得学一个知识,就坚持下去;三天打鱼俩天晒网,真的不如躺着歇,刷刷剧,或者玩俩局游戏。。。
window的dos命令学习笔记 八— bat文件打包成exe程序(实现脚本加密)
二、实战演练:
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 字符,而不使用扩展字符。
- 单写一个tree(这个只显示当前地址下的目录树)
-
tree /f
这样才会把所有的文件也显示出来。(和Linux的tree有点像)
-
linux的tree命令:
太长没有截图截完。
-
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地址-物理地址映射列表
说实话,这个部分我真的不会,如果有懂的好的文章或者链接,欢迎下方浏览,不胜感激。只能后续用到再来补充这些知识了,这几个我就用过ping
和ipconfig
,其他的真的没有接触过,先记录下来,如果后续用到,学会了再来补充,如果你也没有用过剩下几个,可以先把这几个跳过(当然感兴趣可以学习学习)。
①、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$ - 设置ipc /del - 删除ipc=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 - 从管理员组里删除某个用户
注意:
- 增加到某个组里的用户必须是已经被创建过的用户.
- 增加到的组必须为存在的组.
(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)-- 系统管理
- at 安排在特定日期和时间运行命令和程序
- shutdown立即或定时关机或重启
- taskkill结束进程(WinXPHome版中无该命令)
- tasklist显示进程列表(Windows XP Home Edition中没有)
- 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 的正整数)。
示例:
我常用的是关机功能,重启偶尔用一次。
比如:
- 十分钟后自动关机:
shutdown -s -t 600
- 五分钟后重启
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,