导航: 天下网吧 >> 网吧天地 >> 网吧技术 >> 故障解决 >> 正文

解决CMD与外部命令失去关联

2010-11-8不详佚名

前几天突然发现有一台服务器不能运行批处理了,写什么命令只要是外问命令它就提示:'ping' 不是内部或外部命令(假设用ping测试,此处你可以替换成任何外部命令)假如用netstat /an 来测试时它就会提示:'netstat' 不是内部或外部命令,也不是可运行的程序和批处理文件。

        这个问题一度困扰了我好几天,后来听到Lz-myst说应该是path不对,或者外部命令不存在。我想想也对,非常有这个可能。于是echo了一下path,发现path是正常的,用set查看所有环境变量均正常。无奈之下再搜索了一下ping.exe 和netstat.exe发现这些文件都在。

 

        为了测试是不是PATH有问题我用CD %systemroot%\system32 转到system32目录,系统自带的外部命令都在这里面,在system32目录下再次进行测试,发现命令已经正常了

 

由此可见这个问题的确是由于path引起的,可是经过多方测试path是可识别的,为什么会运行不了外部命令呢?一时竟然不知所措中。

        沉思中,突然想起这台服务器曾经安装过PHP,心想会不会是安装PHP后把PATH扰乱了呢?于是打开另一台也安装过PHP的服务器测试发现症状完全一致,可是苦恼的是PHP我已经完全卸载了而通过set查看PATH又是正常的。

         没有头绪,反正死马当作活马医,我找开“我的电脑——属性——高级——环境变量”找到path双击进行编辑,把最前面的%systemroot%\system32删了,确定,再打开CMD测试,外部命令不要用,再用以上相同的操作打开path把刚刚删除的%systemroot%\system32又添加回刚刚那个位置,也就是第一个,确定保存,再次打开cmd测试时,奇迹诞生了,久违的cmd外部命令又可是以使用了。

 

        虽然问题解决了,但是是什么原理我至今还是一头露水,或许删了重建这个过程中系统会重新对列表中的环境变量所对应的一些底层的我们看不到的东西重新进行设置,再添加进去的时候也是如此,因此,达到了重建或者复位的效果。应为可能在卸载PHP的时候只是把列表中的变量删除,系统底层操作并没有重新操作。而通过手动操作使它到达了重置变量的效果。


欢迎访问最专业的网吧论坛,无盘论坛,网吧经营,网咖管理,网吧专业论坛 https://bbs.txwb.com

关注天下网吧微信/下载天下网吧APP/天下网吧小程序,一起来超精彩

本文来源:不详 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系email:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行