时间:2020-08-03 14:40:37来源:Win10专业版官网点击量:N次
如何为Windows创建命令行工具包?
如果您是系统管理员,IT专业人员或超级用户,通常会使用命令提示符在Windows中执行管理任务来查找自己。不管是复制文件,访问注册表,搜索文件还是修改磁盘分区,命令行工具都比其图形替代方法更快,更强大。本教程将引导您创建一个命令行工具箱,其中包含有用的程序和实用程序,这些程序和实用程序可以使管理和使用计算机更加容易和高效。本教程还将引导您配置PATH环境变量,以便在需要时可以使用这些工具,而无需指定工具箱文件夹的完整路径。在本教程的结尾,我们列出了各种Windows附带的或由第三方开发人员提供的命令行程序,您可以将其用作命令行工具包的一部分。
第一步是创建一个文件夹,该文件夹将用于存储命令行程序。该文件夹可以位于任何位置,但应具有描述其用途的名称。您可以使用的一些示例文件夹名称是bin,cl或command-line。就本教程而言,我们将使用文件夹C:\ command-line来存储我们要使用的命令行工具。创建文件夹后,我们现在要将其添加到Windows PATH中,这样就不必每次都要使用命令行工具时都键入命令行工具的完整路径。
为此,请单击开始按钮,然后输入系统。如果您使用的是Windows 8,则只需在“开始”屏幕上键入“系统”。出现搜索结果时,单击搜索结果中的“系统”控制面板以打开控制面板,如下所示。
现在,如上图的红色箭头所示,单击“高级系统设置”选项。这将打开“系统属性”屏幕的“高级”选项卡。
现在,单击环境变量按钮以打开一个屏幕,其中列出了Windows中配置的各种环境变量。
在系统变量框下,向下滚动,直到看到Path变量。看到该变量后,双击它打开一个屏幕,您可以在其中进行编辑。
Path变量是由分号(;)分隔的文件夹的列表,Windows会在键入时使用它们来搜索要执行的程序。当您尝试从命令行启动程序时,Windows会搜索通过路径中的所有文件夹,如果找到,则执行程序。因为我们不想每次使用时都键入命令行程序的完整路径(C:\ commandline \ program.exe),所以可以将C:\ Commandline文件夹添加到我们的路径中因此我们只需要键入程序名称(program.exe)即可启动它。
由于本教程中的命令行工具位于C:\ commandline中,因此我们希望将此文件夹添加到“变量值”字段中已经存在的文件夹列表的末尾。为此,请在“变量值”字段中到达文本的最后,然后键入; C:\ command-line。执行此操作时,将需要用C:\ commandline替换文件夹的路径。完成后,您现在应该看到与上图相似的字段。
要保存更改,请单击“确定”按钮,然后关闭“系统控制面板”。现在,只要您键入存储在命令行程序文件夹中的程序名称,Windows便可以找到并执行它。
有用的命令行程序可添加到您的命令行工具包中
本节将列出各种命令行程序,您可以使用它们来启动工具箱。使用下面的列表时,如果该程序未与Windows捆绑在一起,则该程序的名称也将是指向该站点的链接,您可以使用该站点下载该程序并将其保存到命令行文件夹中。如果程序名称不包含链接,则它与Windows捆绑在一起,并且可以在命令提示符下使用。如果您建议我们将其他工具添加到此列表中,请告知我们。
管理和故障排除程序
命令 | 描述 |
AccessChk | AccessChk列出特定用户或组对资源(包括文件,目录,注册表项,全局对象和Windows服务)所具有的权限类型 |
at | AT命令计划命令和程序在指定的时间和日期在计算机上运行。计划服务必须正在运行才能使用AT命令。 |
CoreInfo | Coreinfo是一个命令行实用程序,向您显示逻辑处理器与物理处理器,NUMA节点和它们所驻留的套接字之间的映射,以及分配给每个逻辑处理器的缓存。 |
driverquery | 显示已安装设备驱动程序的列表。 |
MpCmdRun.exe | Windows Defender的命令行界面。若要执行此程序,必须使用完整路径:%ProgramFiles%\ Windows Defender \ MpCmdRun.exe |
net | 各种Windows管理命令。可以在此处找到更多信息。 |
netsh | Netsh是一个命令行脚本实用程序,它使您可以在本地或远程显示或修改当前正在运行的计算机的网络配置。 |
powershell | Windows PowerShell是一种基于任务的命令行外壳和脚本语言,专门为系统管理而设计。 |
PsLogList | 允许您列出本地或远程计算机的Windows事件日志的内容。 |
PsPasswd | PsPasswd是一种工具,可让您在本地或远程系统上更改帐户密码。 |
PsService | 允许您列出和配置Windows服务。 |
runas | 以另一个用户身份运行程序。 |
rundll32 | 执行导出到DLL文件中的函数。 |
SC | 管理Windows服务。 |
shutdown | 关闭本地或远程计算机。 |
SigCheck | 验证图像是否经过数字签名,并转储文件中包含的版本信息。 |
UnixUtils | 已移植到Windows的Unix实用程序的集合。这些实用程序非常有用,其中包括grep,split,tar,dir等程序。 |
Wmic | 该程序允许命令行和批处理文件访问Windows Management Instrumentation。 |
WUInstall | 命令行Windows Update安装程序和管理程序。 |
启动和Windows启动程序
命令 | 描述 |
bcdboot | bcdboot.exe命令行工具用于将关键的启动文件复制到系统分区并创建新的系统BCD存储。 |
bcdedit | Bcdedit.exe命令行工具修改了启动配置数据存储。引导配置数据存储包含引导配置参数,并控制如何引导操作系统。该工具适用于Windows Vista及更高版本。 |
bootcfg | 可以在此处找到更多信息。 |
repair-bde | bootcfg命令是用于修改Boot.ini文件的Microsoft Windows Server 2003实用程序。该命令具有可以扫描计算机硬盘上Microsoft Windows NT,Microsoft Windows 2000,Microsoft Windows XP和Windows Server 2003安装的功能,然后将它们添加到现有的Boot.ini文件中或重建新的Boot.ini文件。如果不存在。您可以使用bootcfg命令将其他Boot.ini文件参数添加到现有条目或新条目中。 |
文件比较,搜索和查看程序
命令 | 描述 |
comp | 比较两个文件或文件集的内容。 |
findstr | 搜索文件中的字符串。这是一个功能强大的工具,但包含有限的正则表达式功能。如果要使用具有更高RegExp功能的字符串搜索工具,则可能需要使用UnixUtils软件包中的grep 。 |
fc | 比较两个文件或文件集并显示它们之间的差异。 |
more | 一次一页显示文件。 |
sort | 读取输入,排序数据,然后将结果写入屏幕,文件或其他设备。 |
type | 在屏幕上显示整个文件。 |
文件权限和管理程序
命令 | 描述 |
7Zip | 功能齐全的存档程序,几乎可以处理任何存档类型。将其添加到命令行文件夹时,请确保同时复制7z.exe和7z.dll,以使其正常工作。 |
attrib | 显示,设置或删除分配给文件或目录的只读,归档,系统和隐藏属性。使用不带参数的attrib,可显示当前目录中所有文件的属性。 |
cd | 更改当前工作目录。 |
copy | 将文件复制到另一个名称或另一个文件夹。 |
dir | 列出文件夹中的文件。 |
File Checksum Integrity Verifier | 文件校验和完整性验证程序(FCIV)实用程序可以为文件生成MD5或SHA-1哈希值,以将这些值与已知的正确值进行比较。FCIV可以比较哈希值,以确保文件未更改。 |
forfiles | 选择一个文件(或一组文件)并对该文件执行命令。 |
Handle | 句柄是一种实用程序,它显示有关系统中任何进程的打开句柄的信息。您可以使用它查看打开文件的程序,或查看程序的所有句柄的对象类型和名称。 |
icacls | 显示或修改指定文件上的任意访问控制列表(DACL),并将存储的DACL应用于指定目录中的文件 |
Junction | 允许您在Windows中创建,列出或删除连接。 |
LADS | LADS将显示在特定文件夹中找到的所有备用数据流的列表。 |
md5sum | 列出md5对于一个特定文件或一个文件夹中的许多文件。 |
move | 将文件或文件夹移动到另一个位置。 |
ren | 重命名文件或文件夹。 |
Sdelete | 您可以使用SDelete来安全地删除现有文件,以及安全地擦除磁盘的未分配部分中存在的任何文件数据(包括已经删除或加密的文件)。SDelete实施了美国国防部的清除和消毒标准DOD 5220.22-M,使您确信,一旦使用SDelete删除,文件数据将永远消失。 |
sfc | 扫描所有受保护系统文件的完整性,并将不正确的版本替换为正确的Microsoft版本。 |
Strings | 显示在文件中找到的字符串。 |
xcopy | 复制文件和目录,包括子目录。 |
文件系统管理程序
命令 | 描述 |
chkdsk | 检查磁盘并显示状态报告。 |
defrag | 在本地卷上查找并合并碎片文件,以提高系统性能。 |
diskpart | Diskpart允许您管理和修改磁盘分区。 |
FixMBR | 修复启动盘的主启动记录。fixmbr命令仅在使用故障恢复控制台时可用。 |
recover | 从损坏或损坏的磁盘中恢复可读信息。 |
takeown | 使用此工具,管理员可以恢复对由于重新分配文件所有权而被拒绝的文件的访问。 |
网络诊断和管理程序
命令 | 描述 |
arp | 显示和修改地址解析协议(ARP)使用的IP到物理地址转换表。用于查找网络上其他联网设备的mac地址。 |
cURL | cURL是用于下载网页,整个站点,ftp文件等的命令行工具。 |
ipconfig | 显示所有当前的TCP / IP网络配置值,并刷新动态主机配置协议(DHCP)和域名系统(DNS)设置。使用不带参数的ipconfig,可以显示所有适配器的IP地址,子网掩码和默认网关。 |
Netcat | Netcat是一种功能强大的网络实用程序,可使用TCP / IP协议跨网络连接读取和写入数据。这是诊断网络连接,打开防火墙端口或将本地命令的输出发送到远程计算机的非常有用的工具。 |
netstat | 显示协议统计信息和当前的TCP / IP网络连接。 |
Nmap | Nmap(“网络映射器”)是用于网络发现和安全审核的实用程序。该程序可以快速执行网络的TCP / IP审核。 |
nslookup | Nslookup允许您执行DNS(域名服务)解析。 |
pathping | PathPing工具是一种路由跟踪工具,将Ping和Tracert的功能与这些工具都不提供的附加信息结合在一起。PathPing在一段时间内将数据包发送到到达最终目的地的途中的每个路由器,然后根据从每个跃点返回的数据包计算结果。由于PathPing显示了任何给定路由器或链路上的数据包丢失程度,因此您可以查明哪些路由器或链路可能导致网络问题。 |
ping | Ping是一种计算机网络管理实用程序,用于测试您是否可以访问Internet协议(IP)网络上的主机,并测量从始发主机发送到目标计算机的消息的往返时间。 |
PsFile | PsFile是一个命令行实用程序,它显示系统上远程打开的文件的列表,它还允许您通过名称或文件标识符关闭打开的文件。 |
PsExec | PsExec是一个程序,它使您可以在其他系统上执行进程,并且可以完全交互式地使用控制台应用程序,而无需手动安装客户端软件。请注意,某些防病毒供应商可能会将其检测为“ Remote Admin”,但这是Microsoft的合法工具。 |
PsLoggedOn | PsLoggedOn是一个程序,它显示本地登录的用户以及通过本地计算机或远程计算机的资源登录的用户。如果您指定用户名而不是计算机,则PsLoggedOn会搜索网络邻居中的计算机,并告诉您该用户当前是否登录。 |
route | 显示和修改本地IP路由表中的条目。使用不带参数的路由显示帮助。 |
tracert | 显示从本地计算机到远程目标的TCP / IP数据包所采用的路径。 |
Wget | GNU Wget是使用HTTP,HTTPS和FTP(最广泛使用的Internet协议)检索文件的程序。 |
流程管理程序
命令 | 描述 |
ListDlls | ListDLLs是一个实用程序,用于报告加载到进程中的DLL。您可以使用它列出加载到所有进程,特定进程中的所有DLL,或列出加载了特定DLL的进程。 |
PsKill | 允许您终止进程。 |
PsList | 列出所有正在运行的进程。 |
tasklist | 列出所有正在运行的正在运行的进程和服务。该程序还可用于列出在特定svchost进程下正在运行的服务。 |
taskkill | 此工具用于按进程ID(PID)或映像名称终止任务。 |