[疑难杂症]__关于cmd命令正确而显示不是内部指令的错误(ps:已解决)
- 前言
事情的起因是因为我在使用上网程序的时候,运行程序发现端口被占用,这个当然我们知道要将占用的端口结束掉就行,但是显然我们首先要找到占用窗口的程序是什么,才方便在任务管理器中找到并结束掉它.
查找了一番,知道了关于使用cmd查询端口号占用情况的相关命令:
netstat -ano // 查看全部的端口信息,以及占用程序的PID
netstat -aon|findstr "1080" // 查看具体的端口号占用的程序名
但是就是在这里奇了怪了,不能我输几遍都显示命令错误,于是在再三确认之后,我确定了不是我的问题,而是电脑出了问题,于是上网搜查了相关的问题,发现有相关的描述,然后就知道了问题的所在.
在前面的学习中我们知道系统要想运行一个程序,就必须先找到这个程序的更目录,否则就会找不到该程序而报错,显示不是累不程序,但通常情况下,我们使用cmd的时候都不需要先找到某些命令的更目录就可以直接运行呢,这是应为系统设计了path环境变量 ,我们在之前的学习中了解到path环境变量的作用,就是告诉系统运行程序的路径的使程序在照不到程序的时候使用path变量设置的路径去找,.
而之所以我们运行一些命令的时候不需要先找到更目录,正是应为这一点,系统的path变量有设置好相关的命令路径.而出现我上述的问题,显然是因为我的path变量设置可能出现了问题.
我找到相对应的文件夹,存放在系统盘下的windows\System32文件夹下.
另外google了一下System32文件夹的相关说明:
Windows操作系统的系统文件夹。是操作系统的神经中枢。文件夹中包含了大量的用于Windows操作系统的文件。这里主要用于存储 DLL 文件,控制面板小程序(.CPL), 设备驱动 (.drv),帮助文件 (.hlp 和 .cnt), MS-DOS工具 (.com),语言支持文件 (.nls),屏幕保护,安装信息文件(.inf),以及其它用于支持、配置、或操作的文件。
因此知道了它是如此的的重要,并且了解到cmd指令的更目录文件夹为什么是这个文件夹.
于是使用指令
cd C:\windows\System32 // 定位到更目录
netstat -ano // 运行指令程序
发现运行成功,说明果然指令程序就是存在在该文件目录下的.
接着顺便搜索一下netstat关键字:
发现了上三个文件,运行一下exe可执行文件,发现果然是和netstat -ano指令相关的程序.
接着尝试一下添加环境变量,将C:\windows\System32路径添加到当前用户的path变量中去,以免每次运行指令都要找一遍更目录.
然后重新打开cmd,键入端口查询指令,可以直接运行
然后找到相关的占用端口,发现是wps,exe先占用了端口,结束其进程,至此整个问题搞定.
最后百科了一下cmd:
Windows命令提示符(cmd.exe)是Windows NT下的一个用于运行Windows控制台程序或某些DOS程序的殼層程序;或在Windows CE下只用于运行控制台程序的殼層程序。它被用于替代Windows 9x系统中所提供的COMMAND.COM和“MS-DOS提示符”。命令提示符的最初版本由Therese Stowell开发。
- 功能
命令提示符为用户提供了一个命令行界面,该功能通过Win32控制台实现。用户可通过命令行运行程序和批处理文件,从而进行系统管理等。此外,命令提示符还支持管道"管道 (Unix)")和重定向功能。
另外,百度百科还提供了一些cmd命令大全和操作详解,可以参看: