最近一个项目,发现网上下的D7SP1版本不是很稳定,于是卸载D7SP1,然后重新安装了一个D7(未打SP1补丁包),安装过程中有一个是否使用命令提示符运行程序的选项,当时也没有考虑太多,就选择应用,用D7编译工程文件也很顺利。今天回到公司维护网络,打开命令提示符Ping服务器地址,提示“Ping不是内部或外部命令也不是可运行的文件”,这就怪了,以前用的时候都没有问题啊,又试了一个Ipconfig命令,问题依旧;到BD上查了查,发现是系统的环境变量被安装软件篡改了,于是打开Win7_64Bit系统的环境变量,查看了一下,果然Path路径被篡改了,修改为原来的Path路径,命令提示符可以使用了,但是打开D7就会报错,找不到Project下的BPL文件(这个是安装第三方控件编译生成的BPL文件路径),想起来刚才修改环境变量的时候把D7自身的环境变量路径给删掉了,重新添加上了,问题得到解决,D7和命令提示符都OK了!这里要注意下一,D7的环境变量Path地址要放在默认的系统环境变量地址的后面,要不也会报错找不到BPL文件的。
附1:win7_64Bit下环境变量地址:
;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Windows\SysWOW64;C:\Inprise\vbroker\bin;C:\Program Files\Borland\Delphi7\Bin;C:\Program Files\Borland\Delphi7\Projects\Bpl\
附2:网上找的解决命令提示符的办法:
解决WIN7 64位的命令提示符出现不是内部或外部命令也不是可运行的文件的方法
在命令提示符里运行ipconfig和netsh的时候都出现了“不是内部或外部命令也不是可运行的文件或批处理文件”的提示。
对WIN7_64位系统,打开右键打开计算机——属性——高级系统设置——环境变量——在下面的窗口里找到ComSpec这个变量,
设置为: %SystemRoot%\system32\cmd.exe ,如果变量已经是这个了,就不必更改。
然后找到Path这个变量,把
;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Windows\SysWOW64
这串代码复制粘贴进去,注意前面有个半角状态的分号要一起复制。然后确定保存,不用重启,
再在命令提示符里运行所需命令应该可以正常运行了。
原理:主要是64位WIN7的常用命令程序都在C:\Windows\SysWOW64 这个文件夹下,
被有的软件篡改后即使改为默认的system32的路径,系统也无法找到该程序并运行之,
所以有“不是内部或外部命令也不是可运行的文件或批处理文件”的提示。
如果你还想在命令提示符里运行自定义的程序,可以把该程序的路径粘贴到Path文件夹里即可,
每个程序路径前面要用;分号隔开。