将文件从一个位置复制到另外的位置,或者将多个文件连接在起
格式:
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 使用短文件名
/Y 忽略文件覆盖的提示
/-Y 启用覆盖提示
/Z 使用可重启模式拷贝网络文件
/L 如果源文件是符号连接,则不拷贝真实文件
显示或设置系统日期
del (erase)
删除指定的文件、多个文件或目录
格式:
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
选项:
names 指定一个文件或者目录的列表,可以使用通配符,如果指定目录则其中的文件都被删除Specifies a list of one or more files or directories.
/P 删除前进行提示
/F 强制删除只读文件
/S 删除所有子目录中的文件
/Q 安静模式,不提示是否删除全局通配符
/A 根据文件属性选择需要删除的文件:R只读S系统H隐藏A归档I非索引,-表示非
显示当前目录或指定目录中的子目录与文件列表
格式:
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 显示具有指定属性的文件
/B 使用简单模式,只显示文件名
/C 在文件尺寸中显示千位分隔符,这是默认选项,/-C禁止
/D 类似于/W,但是文件按列顺序显示
/L 使用小写
/N 新的长列表格式
/O 按顺序列出文件:N按名称S按大小E根据扩展名D根据日期,-表示反序
/P 满屏后暂停
/Q 显示文件所有者
/S 显示指定目录和所有子目录中的数据
/T 控制哪个时间字段用于排序:C创建A最后访问W最后修改
/W 使用宽列表格式
/X 显示non-8dot3短名称
/4 显示4位年度
dpath
允许程序打开指定目录中的数据文件(就像在当前目录中一样〉
显示命令行的文本字符串,设置命令回显状态
endlocal
变量局部化结束
退出命令shell
对一组文件中的每一文件运行指定的命令
ftype
显示当前的文件类型或修改文件类型(文件扩展关联中使用)
将命令解释器直接跳转到批处理脚本中某个标记行
命令的条件执行
md (mkdir)
在当前目录或指目录下创建子目录,自动创建必要的父目录
mklink
为文件或目录创建符号链接或硬链接
将一个或多个文件从当前目录或指定源目录移动到指定的目标目录,也可以用于对目录进行重命名
格式:
移动一个或者多个文件:
MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination
重命名目录:
MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2
选项:
[drive:][path]filename1 指定需要一定的文件
destination 指定文件的新位置,如果只包含一个源文件,可以指定目标文件名来进行重命名
[drive:][path]dirname1 指定需要重命名的目录
dirname2 目录的新名称
/Y 忽略覆盖的提示
显示或设置操作系统用于搜索可执行文件与脚本的命令路径
pause
中断批处理文件的处理过程(挂起),等待键盘输入
弹出由PUSHD保存的目录,使其成为当前目录
prompt
为命令提示符设置文本
pushd
保存当前目录位置,并可选的跳转到指定目录
rd (rmdir)
移除目录(也可以移除其子目录)
格式:
RMDIR [/S] [/Q] [drive:]path
RD [/S] [/Q] [drive:]path
选项:
/S 移除目录树,包括目录本身
/Q 不进行删除提示
ren (rename)
对一个或多个文件进行重命名,不能指定新的路径或者盘符
格式:
RENAME [drive:][path]filename1 filename2
REN [drive:][path]filename1 filename2
显示当前的环境变或者为当前命令shell设置临时变量
sctlocal
在批处理脚本中标记变量内部化的开始
shift
改变批处理脚本中可替换变量的位置
start
启动一个单独的窗口,以便运行指定的程序或命令
显示或设置系统时间
title
设置命令shell窗口的标题
显示文本文件的内容
verify
在将文件写入磁盘后,指令操作系统对其进行验证
显示磁盘卷标与序列号
常用外部命令
显示通信协议统计信息以及当前的TCP/IP网络连接
格式:
NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]
选项:
-a 显示所有网络连接和监听端口
-b 显示参与创建连接或监听的可执行文件
-e 显示以太网统计信息,通常与-s联用
-f 显示外部地址的全限定域名(Fully Qualified Domain Names)
-n 以数字形式显示地址和端口
-o 显示连接的所属进程PID
-p proto 显示指定协议类型的连接,协议包括:TCP, UDP, TCPv6, UDPv6,如果使用-s,则可用协议为:IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP, UDPv6
-r 显示路由表
-s 按协议统计
interval 间隔指定秒数后刷新统计,按CTRL+C停止
route
操控路由表
ROUTE [-f] [-p] [-4|-6] command [destination] [MASK netmask] [gateway] [METRIC metric] [IF interface]
选项:
-f 清除所有网关条目的路由表,该选项与任何子命令联用,则在执行子命令执行前清除路由表
-p 当使用ADD子命令时,使路由信息持久化,重启后仍然生效
-4 强制使用IPv4
-6 强制使用 IPv6
destination 指定主机
MASK netmask 指定子网掩码,默认255.255.255.255
gateway 指定网关
interface 指定路由使用的网卡号
METRIC 指定metric,即destination的成本
子命令:
PRINT 打印一条路由信息
ADD 添加一条路由信息
DELETE 删除一路由信息
CHANGE 修改一条路由信息
PRINT、DELETE子命令的destination、gateway可以是通配符(*),gateway可以忽略
route
PRINT
route
PRINT
-
4
route
PRINT
-
6
rem 仅打印157开头的主机的路由信息
route
PRINT
157
*
rem 如果不提供IF,会尝试寻找最适合指定网关的网卡
route
ADD
157
.
0
.
0
.
0
MASK
255
.
0
.
0
.
0
157
.
55
.
80
.
1
METRIC
3
IF
2
route
ADD
3ffe
::
/
32
3ffe
::
1
route
CHANGE
157
.
0
.
0
.
0
MASK
255
.
0
.
0
.
0
157
.
55
.
80
.
5
METRIC
2
IF
2
route
DELETE
157
.
0
.
0
.
0
route
DELETE
3ffe
::
/
32
从文本、一个或者多个文件中搜索字符串,如果不指定目标文件路径,则从管道读取输入
格式:
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
选项:
/V 显示所有不包含指定字符串的行 Displays all lines NOT containing the specified string.
/C 仅仅显示匹配的行数 Displays only the count of lines containing the string.
/N 显示行号 Displays line numbers with the displayed lines.
/I 忽略大小写 Ignores the case of characters when searching for the string.
/OFF[LINE] 不跳过脱机文件
"string" 需要寻找的字符串
[drive:][path]filename 目标文件路径
runas
以指定身份运行程序
格式:
RUNAS [ [/noprofile | /profile] [/env] [/savecred | /netonly] ] /user: program
RUNAS [ [/noprofile | /profile] [/env] [/savecred] ] /smartcard [/user:] program
RUNAS /trustlevel: program
选项:
/noprofile 指示不需要加载用户配置文件
/profile 指示需要加载用户配置文件,默认
/env 使用当前环境变量而不是用户的
/netonly 指示身份验证信息是否仅用户远程访问
/savecred 使用之前保存的身份验证信息
/smartcard 指示身份信息从智能卡读取
/user 用户名,必须是USER@DOMAIN或者DOMAIN\USER格式
/showtrustlevels 显示可用的信任级别
/trustlevel 指定信任级别
program 需要运行的程序
SC servicename subCmd
SC config 用于配置服务启动与登录账号
SC query 用于显示计算机上已配置的所有服务的列表
SC qc 用于显示某特定服务的配置
SC queryex 查询服务额外信息,例如PID
SC delete 删除一个服务(从注册表)
SC start 用于启动服务
SC stop 用于结束服务
SC pause 用于暂停服务
SC continue 用子恢复服务
SC failure 用于设置服务失效时执行的操作
SC qfailure 用于查看服务失效时执行的操作
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
rem 査看系统中己配置的所有服务
sc
query
type
=
service
state
=
all
rem 査看远程机器中己配置的所有服务
sc
ServerName
query
type
=
service
state
=
all
rem 一定要注意等于号后面的空格
sc
\
\
192
.
168
.
1
.
100
query
type
=
service
state
=
all
rem 启动某服务
sc
start
ServiceName
rem 暂停某服务
sc
pause
ServiceName
rem 恢复暂停的服务
sc
continue
ServiceName
rem 终止某服务
sc
stop
ServiceName
rem 配置服务启动方式
sc
config
ServiceName
start
=
Auto
|
Demand
|
Disabled
|
Delayed
-
Auto
rem 使用本地系统用户SYSTEM登陆
sc
config
ServiceName
obj
=
LocalSystem
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
rem 查看进程使用的模块(DLL)
tasklist
/
M
rem 显示系统进程与服务的对应关系
tasklist
/
Svc
rem 显示远程机器上的进程列表
tasklist
/
s
192
.
168
.
1
.
15
/
u
admin
\
pswd
rem 使用Eq/Ne/Gt/Lt/Ge/Le操作符可以对tasklist结果进行过滤
rem 过滤查询条件包括:
rem CPUTime 以hh:mm:ss格式呈现的任意有效值
rem Services 任意有效的字符串
rem ImageName 任意有效的字符串
rem MemUsage 以KB为计数单位的任意有效值
rem Modules DLL名称
rem PID 任意有效的正整数
rem Session 任意有效的会话编号
rem SessionName 任意有效的字符串
rem Status 运行、无响应、未知
rem Username 任意有效的用户名,只包括用户名,或者以域\用户的格式
rem WindowTitle 任意有效的宁符串
rem 在silverstone上搜索占用CPU时间超过30分钟的进程:
tasklist
/
s
silverstone
/
fi
"Mcputime gt 00:30:00"
rem 在silverstone上搜索占用内存超过20000KB的进程:
tasklist
/
s
silverstone
/
u
admin
\
pswd
/
fi
"memusage gt 20000"
rem 连续使用/fi可以添加多个过滤器
1
2
3
4
5
6
7
8
9
10
11
12
rem 终止进程ID为208的进程:
taskkill
/
pid
208
rem 终止镜像名为java.exe的所有进程:
taskkill
/
im
java
.
exe
rem 终止silverstone上进程ID为208、1346、2048的进程:
taskkill
/
s
silverstone
/
pid
208
/
pid
1346
/
pid
2048
rem 强制终止PID为1346的进程:
taskkill
/
f
/
pid
1346
rem 终止进程树,以PID为1248的进程开始,包括所有子进程:
taskKill
/
t
/
pid
1248
rem 终止失去响应的cmd.exe进程
taskkill
/
im
cmd
.
exe
/
fi
"status eq not responding"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
rem 创建计划任务
rem 命令格式(注意空格要双引号处理):
rem schtasks /create /tn taskName /tr cmd /sc ScheduleType [/mo Modifier]
rem /st startTime(HH:MM) /sd startDate(系统默认日期格式)
rem /et endTime /ed endDate /Z 完成后删除任务
rem 调度类型 说明
rem MINUTE 以指定间隔(分钟为单位)执行,默认1分钟,Modifier:/mo 1-1439
rem HOURLY 以指定间隔(小时为单位)执行,默认1小时,Modifier:/mo 1-23
rem DAILY 以指定间隔(天为单位)执行,默认每天,Modifier:/mo 1-365
rem WEEKLY 以指定间隔(周为单位)执行,默认每周一,Modifier:/mo 1-365
rem MONTHLY 以指定间隔(月为单位)执行,默认每月第一天,Modifier:/mo 1-12
rem ONCE 在指定的时间与日期执行一次
rem ONEVENT 在指定事件发生时执行 /mo XPathString 事件查询字符串
rem ONSTART 系统启动时运行
rem ONLOGON 用户登录时运行
rem ONIDLE 系统空闲时运行,/i 1-999系统空闲的分钟数
rem 创建一个任务,该任务立即运行一次,之后不再运行:
schtasks
/
create
/
tn
"SysChecks"
/
tr
c
:
\
sch
.
bat
/
sc
once
rem 创建一个任务,该任务在本地计算机上每隔15分钟运行:
schtasks
/
create
/
tn
"SysChecks"
/
tr
c
:
\
sch
.
bat
/
sc
minute
/
mo
15
rem 创建一个任务,该任务在本地计算机上每隔2天运行:
schtasks
/
create
/
tn
"SysChecks"
/
tr
c
:
\
sch
.
bat
/
sc
daily
/
mo
2
rem 创建一个任务,该任务在每隔两个星期的星期一(默认的运行日期)运行:
schtasks
/
create
/
tn
"SysChecks"
/
tr
c
:
\
sch
.
bat
/
sc
weekly
/
mo
2
rem 创建一个任务,该任务在每个星期的周一与周五运行:
schtasks
/
create
/
tn
"SysChecks"
/
tr
c
:
\
sch
.
bat
/
sc
weekly
/
d
mon
,
fri
rem 创達一个任务,该任务在每个月的第1天运行:
schtasks
/
create
/
tn
"SysChecks"
/
tr
c
:
\
sch
.
bat
/
sc
monthly
rem 创建一个任务.该任务在每隔一个月的第5天运行:
schtasks
/
create
/
tn
"SysChecks"
/
tr
c
:
\
sch
.
bat
/
sc
monthly
/
mo
2
/
d
5
rem 创建一个任务,该任务在每个月的最后一天运行:
schtasks
/
create
/
tn
"SysChecks"
/
tr
c
:
\
sysch
.
bat
/
sc
monthly
/
mo
lastday
rem 删除计划任务
schtasks
/
delete
/
tn
"SysChecks"
REG QUERY
可以引用想要操作的键名或键值的全路径来读取注册表值
格式:
REG QUERY KeyName [/v [ValueName] | /ve] [/s] [/f Data [/k] [/d] [/c] [/e]] [/t Type] [/z] [/se Separator]
选项:
KeyName 以[\\Machine\]FullKey的形式出现,Machine为远程机器的名字,仅仅HKLM、HKU可以在远程机器上使用。FullKey以ROOTKEY\SubKey的形式出现
/v 查询指定的键值,如果不指定,则键下的所有值被查询
/ve 查询默认值
/s 递归的查询子键的值
/se 多行文本(REG_MULTI_SZ)的分隔字符
/f 指定需要检索的PATTERN,可以使用*,如果有空格需要引号
/k 仅在键的名字中检索
/d 仅在数据中检索
/c 指定大小写敏感
/e 仅返回精确匹配的项目
/t 指定匹配的注册表数据类型
/z 显示冗长信息
rem 显示注册表版本
REG
QUERY
HKLM
\
Software
\
Microsoft
\
ResKit
/
v
Version
rem 显示远程机器上Setup的所有子键
EG
QUERY
\
\
silverstone
\
HKLM
\
Software
\
Microsoft
\
ResKit
\
Nt
\
Setup
/
s
rem 显示所有子键和值,多行文本使用#作为分隔符
REG
QUERY
HKLM
\
Software
\
Microsoft
\
ResKit
\
Nt
\
Setup
/
se
#
rem 显示精确匹配SYSTEM的键、值、数据
REG
QUERY
HKLM
/
f
SYSTEM
/
t
REG
_
SZ
/
c
/
e
REG ADD
添加或者覆盖键值
格式:
REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]
选项:
KeyName 键的名称,格式同REG ADD
/v 在键下需要添加的值的名称
/ve 设置键的默认值
/t 值数据类型
/s 多行文本分隔符
/d 需要赋给值的数据
/f 强制覆盖已有的键值
PsExec
在远程系统上执行指定的程序,如果目标程序是交互式的控制台应用,保持其交互性
格式:
psexec [\\computer[,computer2[,...] | @file]][-u user [-p psswd][-n s][-r servicename][-h][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][- ][-a n,n,...] cmd [arguments]
选项:
-a 指定运行程序的处理器序号,逗号分隔
-c 复制指定的程序到远程系统用于执行,如果无此选项,远程系统的PATH中必须存在要执行的程序
-d 不等待远程进程结束,立即返回
-e 不加载用户的配置
-f 即使远程系统已经存在要执行的程序,依然拷贝
-i 让运行的程序与指定Session的远程桌面交互
-h 提升用户级别并执行
-l 以限制身份运行
-n 连接远程系统的超时
-p 指定用户的密码
-r 指定需要创建或者交互的远程服务
-s 使用SYSTEM用户运行远程程序
-u 指定登陆用户
-v 只有程序版本更新,才拷贝到远程机器
-w 设置远程程序的工作目录
-x 显示UI,仅本地系统
-priority 设置运行优先级:-low, -belownormal, -abovenormal, -high, -realtime
computer 指定需要运行程序的远程机器,如果使用\\*,则域中所有机器都执行
@file 在文件中列出的机器中执行
cmd 需要执行的命令
arguments 参数
-accepteula 禁止显示License信息
PsFile
列出或者关闭打开的远程文件
格式:
PsFile [\\RemoteComputer [-u Username [-p Password]]] [[Id | path] [-c]]
选项:
-u 登陆用户名
-p 登陆密码
Id 需要显示或者关闭的文件ID,如果不指定,将关闭或者列出所有文件
Path 用于匹配的全部或者部分文件路径
-c 根据ID挂壁文件
PsGetSid
在系统标识符(SID)和系统名称之间进行转换
PsInfo
显示系统信息
PsPing
类似ping
PsKill
终结远程机器上的进程
PsList
显示远程机器上的进程
PsLoggedOn
显示远程机器上登陆的用户
PsLogList
dump远程或者本地机器上的系统日志
PsPasswd
修改本地或者远程机器用户密码
PsService
列出、控制本地或者远程机器的服务
PsShutdown
注销、关机、重启远程或本地机器
PsSuspend
暂停本地或者远程机器的进程
您可以使用以下网站的账户登录: