在写程序的时候,总会碰到乱七八糟的问题。今天就遇到这事了。
首先,有两条规则要切记。 windows下面有2个规则:
1,.exe,.com,.bat后缀的文件,执行的时候可以省略后缀名。
2。优先调用当前目录下的命令。
我写了一个ping localhost 的bat文件,命名为ping.bat,放在了桌面。严重的后果开始了,郁闷也开始了。该文件双击后,ping localhost的命令就无数次的频繁运行,非得ctrl+c才停。‘难道是我ping命令写错了?’,于是,我在网上不断的查找ping的参数,ping的用法。甚至把批处理的语法又重读了一遍,又一遍......一个小时过去了,还是没找到问题所在。我突然想到以前写过一个ping的bat在D盘放着呢,名字叫‘启动脚本.bat’。到D盘里我找到它,并运行。正常!!。同样的命令啊!我把它拷到桌面,运行!靠,又是死循环的运行命令!!郁闷。
我不小心把桌面的ping.bat删了,‘启动脚本.bat’就正常运行了。我差点崩溃!!问题就出在前面提及的两条。1,ping是个命令,不能拿来做文件名。2,在桌面那个目录下,运行‘启动脚本.bat’前,会先运行ping.bat,而ping.bat会有貌似死循环的运行现象。其实不是死循环。详情参考http://shangym.spaces.live.com/blog/cns!5B221B975899E124!196.entry的解释。
除此以外,以后要切记
1,尽量不要再桌面运行程序,因为windows的桌面的路径名为C:/Documents and Settings/currentUser/桌面,该路径包含空格。虽然这次没遇到空格的骚扰,但是,空格一直是个致命的危险。在windows下和linux下都要注意。
2,对文件命名,要有好的习惯,比如,加一些特殊字符作为后缀,以防名字和一些标记符,命令重名。如ping_test.bat,ping_cmd_2011.bat。
3,碰到奇怪的问题,要多尝试,换不同的目录,参数,环境,一步一步把问题找到,多积累经验。