文章目录
- 1.Sc : 与服务控制器和已安装的服务进行通信。
- 2.Schtasks :安排命令和程序定期或在特定时间运行。
- 3.Serverceipoptin : 允许您参与客户体验改善计划(CEIP).
- 4.Servermanagercmd : 安装和删除角色,角色服务和功能。
- 5.Serverweroptin : 允许您启用错误报告。
- 6.Set : 显示,设置或删除CMD.EXE环境变量。
- 7.Setlocal : 在批处理文件中开始环境变量的本地化。
- 8.Setspn : 读取,修改和删除Active Directory服务帐户的服务主体名称(SPN)目录属性。
- 9.Setx : 创建或修改环境变量,无需编程或编写脚本.
- 10.Sfc : 扫描并验证所有受保护系统文件的完整性,并使用正确版本替换不正确的版本。
- 11.Shadow : 远程控制远程桌面会话主机(RD会话主机)服务器上另一个用户的活动会话。
- 12.Shift : 更改批处理文件中批处理参数的位置。
- 13.Showmount : 显示已安装的目录。
- 14.Shutdown :关闭或重新启动本地或远程计算机。
- 15.Sort :读取输入,对数据进行排序,并将结果写入屏幕,文件或其他设备。
- 16.Start : 启动单独的命令提示符窗口以运行指定的程序或命令。
- 17.Storrept : 安装文件服务器资源管理器、包括用于创建和管理存储的报告和库存报告的任务,以及配置文件服务器资源管理器的常规管理。
- 18.Subst :将路径与驱动器号关联。
- 19.Sysocmgr :已弃用.
- 20.Systeminfo : 显示有关计算机及其操作系统的详细配置信息.
- 19.Sxstrace
1.Sc : 与服务控制器和已安装的服务进行通信。
描述:
SC 是用于与服务控制管理器和服务进行通信的命令行程序。
用法:
sc <server> [command] [service name] <option1> <option2>...
选项 <server> 的格式为 "\\ServerName"
键入 "sc [command]" 可以获得有关命令的进一步帮助
命令:
query-----------查询服务的状态,
或枚举服务类型的状态。
queryex---------查询服务的扩展状态,
或枚举服务类型的状态。
start-----------启动服务。
pause-----------向服务发送 PAUSE 控制请求。
interrogate-----向服务发送 INTERROGATE 控制请求。
continue--------向服务发送 CONTINUE 控制请求。
stop------------向服务发送 STOP 请求。
config----------更改服务的配置(永久)。
description-----更改服务的描述。
failure---------更改服务失败时执行的操作。
failureflag-----更改服务的失败操作标志。
sidtype---------更改服务的服务 SID 类型。
privs-----------更改服务的所需权限。
qc--------------查询服务的配置信息。
qdescription----查询服务的描述。
qfailure--------查询失败时服务执行的操作。
qfailureflag----查询服务的失败操作标志。
qsidtype--------查询服务的服务 SID 类型。
qprivs----------查询服务的所需权限。
qtriggerinfo----查询服务的触发器参数。
qpreferrednode--查询首选的服务 NUMA 节点。
delete----------(从注册表)删除服务。
create----------创建服务(将其添加到注册表)。
control---------向服务发送控制。
sdshow----------显示服务的安全描述符。
sdset-----------设置服务的安全描述符。
showsid---------显示相应于假定名称的 SID 字符串。
triggerinfo-----配置服务的触发器参数。
preferrednode---设置首选的服务 NUMA 节点。
GetDisplayName--获取服务的 DisplayName
GetKeyName------获取服务的 ServiceKeyName。
EnumDepend------枚举服务的依存关系。
下列命令不要求服务名称:
sc <server> <command> <option>
boot------------(ok | bad) 指示是否将上一次启动保存为
最近一次已知的正确启动配置
Lock------------锁定服务数据库
QueryLock-------查询 SCManager 数据库的 LockStatus
示例:
sc start MyService
2.Schtasks :安排命令和程序定期或在特定时间运行。
3.Serverceipoptin : 允许您参与客户体验改善计划(CEIP).
4.Servermanagercmd : 安装和删除角色,角色服务和功能。
5.Serverweroptin : 允许您启用错误报告。
6.Set : 显示,设置或删除CMD.EXE环境变量。
显示、设置或删除 cmd.exe 环境变量。
SET [variable=[string]]
variable 指定环境变量名。
string 指定要指派给变量的一系列字符串。
要显示当前环境变量,键入不带参数的 SET。
如果命令扩展被启用,SET 会如下改变:
可仅用一个变量激活 SET 命令,等号或值不显示所有前缀匹配
SET 命令已使用的名称的所有变量的值。例如:
SET P
会显示所有以字母 P 打头的变量
如果在当前环境中找不到该变量名称,SET 命令将把 ERRORLEVEL
设置成 1。
SET 命令不允许变量名含有等号。
在 SET 命令中添加了两个新命令行开关:
SET /A expression
SET /P variable=[promptString]
/A 命令行开关指定等号右边的字符串为被评估的数字表达式。该表达式
评估器很简单并以递减的优先权顺序支持下列操作:
() - 分组
! ~ - - 一元运算符
* / % - 算数运算符
+ - - 算数运算符
<< >> - 逻辑移位
- 按位“与”
^ - 按位“异”
| - 按位“或”
= *= /= %= += -= - 赋值
&= ^= |= <<= >>=
, - 表达式分隔符
如果您使用任何逻辑或取余操作符, 您需要将表达式字符串用
引号扩起来。在表达式中的任何非数字字符串键作为环境变量
名称,这些环境变量名称的值已在使用前转换成数字。如果指定
了一个环境变量名称,但未在当前环境中定义,那么值将被定为
零。这使您可以使用环境变量值做计算而不用键入那些 % 符号
来得到它们的值。如果 SET /A 在命令脚本外的命令行执行的,
那么它显示该表达式的最后值。该分配的操作符在分配的操作符
左边需要一个环境变量名称。除十六进制有 0x 前缀,八进制
有 0 前缀的,数字值为十进位数字。因此,0x12 与 18 和 022
相同。请注意八进制公式可能很容易搞混: 08 和 09 是无效的数字,
因为 8 和 9 不是有效的八进制位数。(& )
/P 命令行开关允许将变量数值设成用户输入的一行输入。读取输入
行之前,显示指定的 promptString。promptString 可以是空的。
环境变量替换已如下增强:
%PATH:str1=str2%
会扩展 PATH 环境变量,用 "str2" 代替扩展结果中的每个 "str1"。
要有效地从扩展结果中删除所有的 "str1","str2" 可以是空的。
"str1" 可以以星号打头;在这种情况下,"str1" 会从扩展结果的
开始到 str1 剩余部分第一次出现的地方,都一直保持相配。
也可以为扩展名指定子字符串。
%PATH:~10,5%
会扩展 PATH 环境变量,然后只使用在扩展结果中从第 11 个(偏
移量 10)字符开始的五个字符。如果没有指定长度,则采用默认
值,即变量数值的余数。如果两个数字(偏移量和长度)都是负数,
使用的数字则是环境变量数值长度加上指定的偏移量或长度。
%PATH:~-10%
会提取 PATH 变量的最后十个字符。
%PATH:~0,-2%
会提取 PATH 变量的所有字符,除了最后两个。
终于添加了延迟环境变量扩充的支持。该支持总是按默认值被
停用,但也可以通过 CMD.EXE 的 /V 命令行开关而被启用/停用。
请参阅 CMD /?
考虑到读取一行文本时所遇到的目前扩充的限制时,延迟环境
变量扩充是很有用的,而不是执行的时候。以下例子说明直接
变量扩充的问题:
set VAR=before
if "%VAR%" == "before" (
set VAR=after
if "%VAR%" == "after" @echo If you see this, it worked
)
不会显示消息,因为在读到第一个 IF 语句时,BOTH IF 语句中
的 %VAR% 会被代替;原因是: 它包含 IF 的文体,IF 是一个
复合语句。所以,复合语句中的 IF 实际上是在比较 "before" 和
"after",这两者永远不会相等。同样,以下这个例子也不会达到
预期效果:
set LIST=
for %i in (*) do set LIST=%LIST% %i
echo %LIST%
原因是,它不会在目前的目录中建立一个文件列表,而只是将
LIST 变量设成找到的最后一个文件。这也是因为 %LIST% 在
FOR 语句被读取时,只被扩充了一次;而且,那时的 LIST 变量
是空的。因此,我们真正执行的 FOR 循环是:
for %i in (*) do set LIST= %i
这个循环继续将 LIST 设成找到的最后一个文件。
延迟环境变量扩充允许您使用一个不同的字符(惊叹号)在执行
时间扩充环境变量。如果延迟的变量扩充被启用,可以将上面
例子写成以下所示,以达到预期效果:
set VAR=before
if "%VAR%" == "before" (
set VAR=after
if "!VAR!" == "after" @echo If you see this, it worked
)
set LIST=
for %i in (*) do set LIST=!LIST! %i
echo %LIST%
如果命令扩展被启用,有几个动态环境变量可以被扩展,但不会出现在 SET 显示的变
量列表中。每次变量数值被扩展时,这些变量数值都会被动态计算。如果用户用这些
名称中任何一个明确定义变量,那个定义会替代下面描述的动态定义:
%CD% - 扩展到当前目录字符串。
%DATE% - 用跟 DATE 命令同样的格式扩展到当前日期。
%TIME% - 用跟 TIME 命令同样的格式扩展到当前时间。
%RANDOM% - 扩展到 0 和 32767 之间的任意十进制数字。
%ERRORLEVEL% - 扩展到当前 ERRORLEVEL 数值。
%CMDEXTVERSION% - 扩展到当前命令处理器扩展版本号。
%CMDCMDLINE% - 扩展到调用命令处理器的原始命令行。
%HIGHESTNUMANODENUMBER% - 扩展到此计算机上的最高 NUMA 节点号。
例子
要设置名为TEST^1的环境变量,请键入:
set testVar=test^^1
<mark>注意:</mark>
该组命令给下面的等号(=)的变量的值的一切。如果输入:
set testVar="test^1"
您会得到以下结果:
testVar="test^1"
要设置名为TEST&1的环境变量,请键入:
set testVar=test^&1
要设置名为INCLUDE的环境变量,以便将字符串 C:\Inc与其关联,请键入:
set include=c:\inc
然后,您可以在批处理文件中使用字符串C:\Inc,方法是将百分号(%)括在名称INCLUDE中。例如,您可以在批处理文件中包含以下命令,以便显示与INCLUDE环境变量关联的目录的内容:
dir %include%
处理此命令时,字符串C:\Inc将替换%include%。
您还可以在批处理程序中使用set,该程序将新目录添加到PATH环境变量中。例如:
@echo off
rem ADDPATH.BAT adds a new directory
rem to the path environment variable.
set path=%1;%path%
set
要显示以字母P开头的所有环境变量的列表,请键入:
set p
7.Setlocal : 在批处理文件中开始环境变量的本地化。
在批处理文件中开始环境变量的本地化。本地化将继续,直到遇到匹配的endlocal命令或达到批处理文件的末尾。
开始批处理文件中环境改动的本地化操作。
在执行 SETLOCAL 之后所做的环境改动只限于批处理文件。
要还原原先的设置,必须执行 ENDLOCAL。
达到批处理文件结尾时,对于该批处理文件的每个尚未执行的 SETLOCAL 命令,都会有一个隐含的 ENDLOCAL 被执行。
SETLOCAL
如果命令扩展被启用,SETLOCAL 会如下改变:
SETLOCAL 批命令现在可以接受可选参数:
ENABLEEXTENSIONS / DISABLEEXTENSIONS
启用或禁用命令处理器扩展。这些
参数比 CMD /E:ON 或 /E:OFF
开关有优先权。请参阅 CMD /? 获取详细信息。
ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION
启用或禁用延缓环境变量
扩展。这些参数比 CMD
/V:ON 或 /V:OFF 开关有优先权。请参阅 CMD /? 获取详细信息。
无论在 SETLOCAL 命令之前它们的设置是什么,这些修改会一直保留到匹配的 ENDLOCAL 命令。
如果有一个参数,
SETLOCAL 命令将设置 ERRORLEVEL 的值。如果有两个有效参数中的一个,
该值则为零。
用下列技巧,您可以在批脚本中
使用这个来决定扩展是否可用:
VERIFY OTHER 2>nul
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 echo Unable to enable extensions
这个方法之所以有效,是因为在 CMD.EXE 的旧版本上,SETLOCAL未设置 ERRORLEVEL 值。
具有不正确参数的 VERIFY 命令将ERRORLEVEL 值初始化成非零值。
例子
您可以在批处理文件中本地化环境变量,如以下示例脚本所示:
rem *******Begin Comment**************
rem This program starts the superapp batch program on the network,
rem directs the output to a file, and displays the file
rem in Notepad.
rem *******End Comment**************
@echo off
setlocal
path=g:\programs\superapp;%path%
call superapp>c:\superapp.out
endlocal
start notepad c:\superapp.out
8.Setspn : 读取,修改和删除Active Directory服务帐户的服务主体名称(SPN)目录属性。
9.Setx : 创建或修改环境变量,无需编程或编写脚本.
在用户或系统环境中创建或修改环境变量,无需编程或编写脚本。该SETX命令还检索注册表项的值,并写入他们到文本文件。
SetX 有三种使用方式:
语法 1:
SETX [/S system [/U [domain\]user [/P [password]]]] var value [/M]
语法 2:
SETX [/S system [/U [domain\]user [/P [password]]]] var /K regpath [/M]
语法 3:
SETX [/S system [/U [domain\]user [/P [password]]]]
/F file {var {/A x,y | /R x,y string}[/M] | /X} [/D delimiters]
描述:
在用户或系统环境创建或修改环境变量。能基于参数、注册表项或文件输入设置变量。
参数列表:
/S system 指定要连接到的远程系统。
/U [domain\]user 指定应该在哪个用户上下文执行命令。
/P [password] 指定给定用户上下文的密码。如果省略则
提示输入。
var 指定要设置的环境变量。
value 指定分配给环境变量的值。
/K regpath 指定变量是基于注册表项的信息而设置的。
路径的格式应该是 hive\key\...\value。例如
HKEY_LOCAL_MACHINE\System\CurrentControlSet\
Control\TimeZoneInformation\StandardName。
/F file 指定要使用的文本文件的文件名。
/A x,y 指定绝对文件坐标(线 X,项目 Y)作为在此文件
里搜索的参数。
/R x,y string 指定有关“字符串”作为搜索参数的相对文件坐标。
/M 指定应该在系统 (HKEY_LOCAL_MACHINE) 环境中设
置此变量。在 HKEY_CURRENT_USER 环境下,默认
将设置此变量。
/X 用 x,y 坐标显示文件内容。
/D delimiters 指定其他限定符,如 "," 或 "\"。 内置分隔符是空格、制表符、回车和换行符。所有 ASCII 字符都可作为限定符。限定符的最大数量, 包括内置分隔符,是 15。 /? 显示此帮助消息。 注意: 1) SETX 在注册表中将变量写入主机环境。 2) 在本地系统,用此工具创建或修改的变量将在以后的命令窗口可用,但 在当前的 CMD.exe 命令窗口。 3) 在远程系统,用此工具创建或修改的变量在下次登录会话可用。 4) 有效的注册表项数据类型是 REG_DWORD,REG_EXPAND_SZ,REG_SZ 和 REG_MULTI_SZ。 5) 受支持的配置单元: HKEY_LOCAL_MACHINE (HKLM), HKEY_CURRENT_USER (HKCU)。 6) 限定符区分大小写。 7) REG_DWORD 的值是从注册表里以十进制格式提取出来的。 示例: SETX MACHINE COMPAQ SETX MACHINE "COMPAQ COMPUTER" /M SETX MYPATH "%PATH%" SETX MYPATH ~PATH~ SETX /S system /U user /P password MACHINE COMPAQ SETX /S system /U user /P password MYPATH ^%PATH^% SETX TZONE /K HKEY_LOCAL_MACHINE\System\CurrentControlSet\ Control\TimeZoneInformation\StandardName SETX BUILD /K "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
NT\CurrentVersion\CurrentBuildNumber" /M SETX /S system /U user /P password TZONE /K HKEY_LOCAL_MACHINE\ System\CurrentControlSet\Control\TimeZoneInformation\ StandardName SETX /S system /U user /P password BUILD /K "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\
CurrentVersion\CurrentBuildNumber" /M SETX /F ipconfig.out /X SETX IPADDR /F ipconfig.out /A 5,11 SETX OCTET1 /F ipconfig.out /A 5,3 /D "#$*."
SETX IPGATEWAY /F ipconfig.out /R 0,7 Gateway
SETX /S system /U user /P password /F c:\ipconfig.out /X
例子
要将本地环境中的MACHINE环境变量设置为值Brand1,请键入:
setx MACHINE Brand1
要将系统环境中的MACHINE环境变量设置为值Brand1 Computer,请键入:
setx MACHINE "Brand1 Computer" /m
要在本地环境中设置MYPATH环境变量以使用PATH环境变量中定义的搜索路径,请键入:
setx MYPATH %PATH%
要在本地环境中设置MYPATH环境变量以使用替换~with%后在PATH环境变量中定义的搜索路径,请键入:
setx MYPATH ~PATH~
要将本地环境中的MACHINE环境变量设置为名为Computer1的远程计算机上的Brand1,请键入:
setx /s computer1 /u maindom\hiropln /p p@ssW23 MACHINE Brand1
要在本地环境中设置MYPATH环境变量以使用名为Computer1的远程计算机上的PATH环境变量中定义的搜索路径,请键入:
setx /s computer1 /u maindom\hiropln /p p@ssW23 MYPATH %PATH%
`要将本地环境中的TZONE环境变量设置为HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName注册表项中找到的值,请键入:
setx TZONE /k HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName
要将名为Computer1的远程计算机的本地环境中的TZONE环境变量设置为HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ TimeZoneInformation \ StandardName注册表项中找到的值,请键入:
setx /s computer1 /u maindom\hiropln /p p@ssW23 TZONE /k HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName
要将系统环境中的BUILD环境变量设置为HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber注册表项中找到的值,请键入:
setx BUILD /k "HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber" /m
要将名为Computer1的远程计算机的系统环境中的BUILD环境变量设置为HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber注册表项中找到的值,请键入:
setx /s computer1 /u maindom\hiropln /p p@ssW23 BUILD /k "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\CurrentBuildNumber" /m
要显示名为Ipconfig.out的文件的内容以及内容的相应坐标,请键入:
setx /f ipconfig.out /x
要将本地环境中的IPADDR环境变量设置为在文件Ipconfig.out中的坐标5,11处找到的值,请键入:
setx IPADDR /f ipconfig.out /a 5,11
要将本地环境中的OCTET1环境变量设置为文件Ipconfig.out中坐标5,3处的值,并使用分隔符“#$ *”。,键入:
setx OCTET1 /f ipconfig.out /a 5,3 /d "#$*."
要将本地环境中的IPGATEWAY环境变量设置为相对于文件Ipconfig.out中“Gateway”坐标的坐标0,7处找到的值,请键入:
setx IPGATEWAY /f ipconfig.out /r 0,7 Gateway
要在名为Computer1的计算机上显示名为Ipconfig.out的文件的内容以及内容的相应坐标,请键入:
setx /s computer1 /u maindom\hiropln /p p@ssW23 /f ipconfig.out /x
10.Sfc : 扫描并验证所有受保护系统文件的完整性,并使用正确版本替换不正确的版本。
SFC [/SCANNOW] [/VERIFYONLY] [/SCANFILE=<file>] [/VERIFYFILE=<file>]
[/OFFWINDIR=<offline windows directory> /OFFBOOTDIR=<offline boot directory>]
/SCANNOW 扫描所有受保护的系统文件的完整性,并修复出问题的文件(如果出现问题)。
/VERIFYONLY 扫描所有受保护的系统文件的完整性。不执行修复操作。
/SCANFILE 扫描参考文件的完整性,如果找到问题,则修复文件。
指定完整路径 <文件>
/VERIFYFILE 验证带有完整路径 <文件> 的文件的完整性。不执行修复。
/OFFBOOTDIR 用于脱机修复指定脱机启动目录的位置
/OFFWINDIR 用于脱机修复指定脱机 Windows 目录的位置
例如
sfc /SCANNOW
sfc /VERIFYFILE=c:\windows\system32\kernel32.dll
sfc /SCANFILE=d:\windows\system32\kernel32.dll /OFFBOOTDIR=d:\ /OFFWINDIR=d:\windows
sfc /VERIFYONLY
例子
要验证kernel32.dll文件,请键入:
sfc /verifyfile=c:\windows\system32\kernel32.dll
要设置kernel32.dll文件的脱机修复,并将脱机启动目录设置为d:并将脱机Windows目录设置为d:\windows,请键入:
sfc /scanfile=d:\windows\system32\kernel32.dll /offbootdir=d:\ /offwindir=d:\windows
11.Shadow : 远程控制远程桌面会话主机(RD会话主机)服务器上另一个用户的活动会话。
12.Shift : 更改批处理文件中批处理参数的位置。
SHIFT [/n]
如果命令扩展被启用,SHIFT 命令支持/n 命令行开关;该命令行开关告诉
命令从第 n 个参数开始移位;n 介于零和八之间。例如:
SHIFT /2
会将 %3 移位到 %2,将 %4 移位到 %3,等等;并且不影响 %0 和 %1。
例子
名为Mycopy.bat的样本批处理文件中的以下行演示了如何将shift与任意数量的批处理参数一起使用。在此示例中,Mycopy.bat将文件列表复制到特定目录。批处理参数由目录和文件名参数表示。
@echo off
rem MYCOPY.BAT copies any number of files
rem to a directory.
rem The command uses the following syntax:
rem mycopy dir file1 file2 ...
set todir=%1
:getfile
shift
if "%1"=="" goto end
copy %1 %todir%
goto getfile
:end
set todir=
echo All done
13.Showmount : 显示已安装的目录。
语法
showmount{-e|-a|-d} [Server]
描述、
所述的showmount命令行实用程序显示有关由NFS服务器导出由指定的计算机上安装的文件系统的信息服务器。如果未提供Server,showmount将显示有关运行showmount命令的计算机的信息。
您必须提供以下选项之一:
- -e 显示在服务器上导出的所有文件系统。
- -a 显示所有网络文件系统(NFS)客户端以及每个已安装的服务器上的目录。
- -d 显示NFS客户端当前挂载的服务器上的所有目录。
14.Shutdown :关闭或重新启动本地或远程计算机。
用法: shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f]
[/m \\computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]
没有参数 显示帮助。这与键入 /? 是一样的。
/? 显示帮助。这与不键入任何选项是一样的。
/i 显示图形用户界面(GUI)。这必须是第一个选项。
/l 注销。这不能与 /m 或 /d 选项一起使用。
/s 关闭计算机。
/r 关闭并重新启动计算机。
/g 关闭并重新启动计算机。系统重新启动后,重新启动所有注册的应用程序。
/a 中止系统关闭。这只能在超时期间使用。
/p 关闭本地计算机,没有超时或警告。可以与 /d 和 /f 选项一起使用。
/h 休眠本地计算机。可以与 /f 选项一起使用。
/e 记录计算机意外关闭的原因。
/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 的正整数)。
此计算机上的原因:
(E = 预期 U = 意外 P = 计划内,C = 自定义)
类别 主要 次要 标题
U 0 0 其他(计划外)
E 0 0 其他(计划外)
E P 0 0 其他(计划内)
U 0 5 其他故障: 系统没有反应
E 1 1 硬件: 维护(计划外)
E P 1 1 硬件: 维护(计划内)
E 1 2 硬件: 安装(计划外)
E P 1 2 硬件: 安装(计划内)
E 2 2 操作系统: 恢复(计划内)
E P 2 2 操作系统: 恢复(计划内)
P 2 3 操作系统: 升级(计划内)
E 2 4 操作系统: 重新配置(计划外)
E P 2 4 操作系统: 重新配置(计划内)
P 2 16 操作系统: Service Pack (计划内)
2 17 操作系统: 热修补(计划外)
P 2 17 操作系统: 热修补(计划内)
2 18 操作系统: 安全修补(计划外)
P 2 18 操作系统: 安全修补(计划内)
E 4 1 应用程序: 维护(计划外)
E P 4 1 应用程序: 维护(计划内)
E P 4 2 应用程序: 安装(计划内)
E 4 5 应用程序: 没有反应
E 4 6 应用程序: 不稳定
U 5 15 系统故障: 停止错误
U 5 19
E 5 19
E P 5 19
E 5 20 网络连接丢失(计划外)
U 6 11 电源故障: 电线被拔掉
U 6 12 电源故障: 环境
P 7 0 旧版 API 关机
15.Sort :读取输入,对数据进行排序,并将结果写入屏幕,文件或其他设备。
SORT [/R] [/+n] [/M kilobytes] [/L locale] [/REC recordbytes]
[[drive1:][path1]filename1] [/T [drive2:][path2]]
[/O [drive3:][path3]filename3]
/+n 指定开始每个比较的字符号码 n。/+3 说明每个
比较应从每行的第三个字符开始。少于 n 个字符
的行排在其他行之前。按默认值,从每行的第一
个字符开始比较。
/L[OCALE] locale 用指定的区域设置替代系统默认区域设置。
""C"" 区域设置产生最快的排序顺序并且是当前
的唯一其他选择。排序总是不分大小写的。
/M[EMORY] kilobytes 指定用于排序的主内存量,单位为 KB。
最小内存量总是 160 KB。如果指定内存大小,
无论主内存的可用量是多少,指定的内存量会
全部用于排序。
要取得最佳性能,通常不指定内存大小。按默认
值,如果达到默认最大内存值,排序会一次完成
(非临时文件);否则,排序会分两次完成(没有
完全排序的数据存储在临时文件中);用于排序
和合并的内存量相等。如果输入和输出都是文
件,默认最大内存量为可用主内存的 90%;
否则,为主内存的 45%。
/REC[ORD_MAXIMUM] characters 指定记录中的最大字符数量
(默认值为 4096,最大值为 65535)。
/R[EVERSE] 颠倒排序顺序,即,从 Z 到 A,再从 9 到 0。
[drive1:][path1]filename1 指定要排序的文件。如果没有指定,则排序标准
输入。指定输入文件比将同一个文件重定向为标
准输入快。
/T[EMPORARY]
[drive2:][path2] 指定保留排序工作存储的目录路径,以防主内
存无法容纳数据。默认值是使用系统临时目录。
/O[UTPUT]
[drive3:][path3]filename3 指定在哪个文件中储存经过排序的输入。
如果没有指定,数据会被写入标准输出。
指定输出文件比将标准输出重定向到同一个文件快。
例子
排序文件
要以相反的顺序对名为Expenses.txt的文件中的行进行排序和显示,请键入:
sort /r expenses.txt
对命令的输出进行排序
要搜索名为Maillist.txt的大文件以查找文本“Jones”,并对搜索结果进行排序,请使用管道(|)将find命令的输出定向到sort命令,如下所示:
find "Jones" maillist.txt | sort
该命令生成包含指定文本的行的排序列表。
排序键盘输入
要对键盘输入进行排序并在屏幕上按字母顺序显示结果,可以先使用不带参数的sort命令,如下所示:
sort
然后键入要排序的文本,并在每行末尾按ENTER键。键入文本后,按CTRL + Z,然后按ENTER键。该类型的命令将显示您键入的文本,按字母顺序排序。
16.Start : 启动单独的命令提示符窗口以运行指定的程序或命令。
启动一个单独的窗口运行指定的程序或命令。
START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B]
[command/program] [parameters]
"title" 在窗口标题栏中显示的标题。
path 启动目录。
B 启动应用程序,但不创建新窗口。应用程序已忽略 ^C 处理。
除非应用程序启用 ^C 处理,否则 ^Break 是唯一可以中断该应用程序的方式。
I 新的环境将是传递给 cmd.exe 的原始环境,而不是当前环境。
MIN 以最小化方式启动窗口。
MAX 以最大化方式启动窗口。
SEPARATE 在单独的内存空间中启动 16 位 Windows 程序。
SHARED 在共享内存空间中启动 16 位 Windows 程序。
LOW 在 IDLE 优先级类中启动应用程序。
NORMAL 在 NORMAL 优先级类中启动应用程序。
HIGH 在 HIGH 优先级类中启动应用程序。
REALTIME 在 REALTIME 优先级类中启动应用程序。
ABOVENORMAL 在 ABOVENORMAL 优先级类中启动应用程序。
BELOWNORMAL 在 BELOWNORMAL 优先级类中启动应用程序。
NODE 将首选非一致性内存结构 (NUMA) 节点指定为十进制整数。
AFFINITY 将处理器关联掩码指定为十六进制数字。进程被限制在这些
处理器上运行。
当 /AFFINITY 和 /NODE 结合时,会对关联掩码进行不同的解释。
指定关联掩码,正如 NUMA 节点的处理器掩码正确移动到零位
起始位置一样。进程被限制在指定关联掩码和 NUMA 节点之间的
那些通用处理器上运行。如果没有通用处理器,则进程被限制在
指定的 NUMA 节点上运行。
WAIT 启动应用程序并等待它终止。
command/program
如果它是内部 cmd 命令或批文件,则该命令处理器是使用
cmd.exe 的 /K 开关运行的。这表示运行该命令之后,该窗口
将仍然存在。
如果它不是内部 cmd 命令或批文件,则它就是一个程序,并将
作为一个窗口化应用程序或控制台应用程序运行。
parameters 这些是传递给 command/program 的参数。
注意: 在 64 位平台上不支持 SEPARATE 和 SHARED 选项。
通过指定 /NODE,可按照利用 NUMA 系统中的内存区域的方式创建进程。例如,
可以创建两个完全通过共享内存互相通信的进程以共享相同的首选 NUMA 节点,
从而最大限度地减少内存延迟。如有可能,它们即会分配来自相同 NUMA 节点的
内存,并且会在指定节点之外的处理器上自由运行。
启动 /NODE 1 application1.exe
启动 /NODE 1 application2.exe
这两个进程可被进一步限制在相同 NUMA 节点内的指定处理器上运行。在以下
示例中, application1 在节点的两个低顺序处理器上运行,而 application2
在该节点的其后两个处理器上运行。该示例假定指定节点至少具有四个逻辑
处理器。请注意,节点号可更改为该计算机的任何有效节点号,而无需更改关联
掩码。
启动 /NODE 1 /AFFINITY 0x3 application1.exe
启动 /NODE 1 /AFFINITY 0xc application2.exe
如果命令扩展被启用,通过命令行或 START 命令的外部命令
调用会如下改变:
将文件名作为命令键入,非可执行文件可以通过文件关联调用。
(例如,WORD.DOC 会调用跟 .DOC 文件扩展名关联的应用程序)。
关于如何从命令脚本内部创建这些关联,请参阅 ASSOC 和
FTYPE 命令。
执行的应用程序是 32-位 GUI 应用程序时,CMD.EXE 不等应用
程序终止就返回命令提示符。如果在命令脚本内执行,该新行为
则不会发生。
如果执行的命令行的第一个符号是不带扩展名或路径修饰符的
字符串 "CMD","CMD" 会被 COMSPEC 变量的数值所替换。这
防止从当前目录提取 CMD.EXE。
如果执行的命令行的第一个符号没有扩展名,CMD.EXE 会使用
PATHEXT 环境变量的数值来决定要以什么顺序寻找哪些扩展
名。PATHEXT 变量的默认值是:
.COM;.EXE;.BAT;.CMD
请注意,该语法跟 PATH 变量的一样,分号隔开不同的元素。
查找可执行文件时,如果没有相配的扩展名,看一看该名称是否与目录名相配。
如果确实如此,START 会在那个路径上调用 Explorer。如果从命令行执行,则等同于对那个路径作 CD /D。
备注
-
通过键入文件名作为命令,可以通过文件关联运行不可执行文件。
-
当您运行包含字符串“CMD”作为没有扩展名或路径限定符的第一个标记的命令时,“CMD”将替换为COMSPEC变量的值。这可以防止用户从当前目录中获取cmd。
-
运行32位图形用户界面(GUI)应用程序时,cmd不会等待应用程序退出,然后再返回到命令提示符。如果从命令脚本运行应用程序,则不会发生此行为。
-
当您运行使用不包含扩展的第一个令牌的命令时,Cmd.exe使用PATHEXT环境变量的值来确定要查找的扩展名以及查找顺序。PATHEXT变量的默认值为:
.COM;.EXE;.BAT;.CMD
请注意,语法与PATH变量相同,用分号分隔每个扩展名。
-
当它搜索可执行文件时,如果任何扩展名都不匹配,则开始检查名称是否与目录名称匹配。如果是,则启动在该路径上打开Explorer.exe。
例子
要在命令提示符下启动Myapp程序并保留使用当前的命令提示符窗口,请键入:
start myapp
要在单独的最大化命令提示符窗口中查看启动命令行帮助主题,请键入:
start /max start /?
17.Storrept : 安装文件服务器资源管理器、包括用于创建和管理存储的报告和库存报告的任务,以及配置文件服务器资源管理器的常规管理。
18.Subst :将路径与驱动器号关联。
将路径与驱动器号关联。如果在没有参数的情况下使用,则subst显示有效的虚拟驱动器的名称。
19.Sysocmgr :已弃用.
20.Systeminfo : 显示有关计算机及其操作系统的详细配置信息.
显示有关计算机及其操作系统的详细配置信息,包括操作系统配置,安全信息,产品ID和硬件属性(如RAM,磁盘空间和网卡)。
SYSTEMINFO [/S system [/U username [/P [password]]]] [/FO format] [/NH]
描述:
该工具显示本地或远程机器(包括服务包级别)的操作系统配置的信息。
参数列表:
/S system 指定要连接的远程系统。
/U [domain\]user 指定应该在哪个用户上下文执行命令。
/P [password] 指定给定用户上下文的密码。如果省略则提示输入。
/FO format 指定显示结果的格式。
有效值: "TABLE"、"LIST"、"CSV"。
/NH 指定“列标题”不应该在输出中显示。
只对 "TABLE" 和 "CSV" 格式有效。
/? 显示帮助消息。
例如:
SYSTEMINFO
SYSTEMINFO /?
SYSTEMINFO /S system
SYSTEMINFO /S system /U user
SYSTEMINFO /S system /U domain\user /P password /FO TABLE
SYSTEMINFO /S system /FO LIST
SYSTEMINFO /S system /FO CSV /NH
19.Sxstrace
WinSxs 跟踪实用工具。
用法: SxsTrace [选项]
选项:
Trace -logfile:FileName [-nostop]
为 sxs 启用跟踪。
将跟踪日志保存到 FileName。
如果指定 -nostop,则不会提示停止跟踪。
Parse -logfile:FileName -outfile:ParsedFile [-filter:AppName]
将原始跟踪文件转换成用户可读的格式并将结果保存到 ParsedFile。
使用 -filter 选项筛选输出。
Stoptrace
停止跟踪(如果以前未停止过跟踪)。
示例: SxsTrace Trace -logfile:SxsTrace.etl
SxsTrace Parse -logfile:SxsTrace.etl -outfile:SxsTrace.txt
指定显示结果的格式。
有效值: "TABLE"、"LIST"、"CSV"。
/NH 指定“列标题”不应该在输出中显示。
只对 "TABLE" 和 "CSV" 格式有效。
/? 显示帮助消息。
例如:
SYSTEMINFO
SYSTEMINFO /?
SYSTEMINFO /S system
SYSTEMINFO /S system /U user
SYSTEMINFO /S system /U domain\user /P password /FO TABLE
SYSTEMINFO /S system /FO LIST
SYSTEMINFO /S system /FO CSV /NH
# 19.Sxstrace
```shell
WinSxs 跟踪实用工具。
用法: SxsTrace [选项]
选项:
Trace -logfile:FileName [-nostop]
为 sxs 启用跟踪。
将跟踪日志保存到 FileName。
如果指定 -nostop,则不会提示停止跟踪。
Parse -logfile:FileName -outfile:ParsedFile [-filter:AppName]
将原始跟踪文件转换成用户可读的格式并将结果保存到 ParsedFile。
使用 -filter 选项筛选输出。
Stoptrace
停止跟踪(如果以前未停止过跟踪)。
示例: SxsTrace Trace -logfile:SxsTrace.etl
SxsTrace Parse -logfile:SxsTrace.etl -outfile:SxsTrace.txt