|
环境: MS DOS 7。1
讨论: DOS的当前路径以及程序生成的文件存放路径相关问题。
这几天自己在写DOS下的批处理,遇到一个问题,就是关于程序运行过程中产生的文件,比如错误日志等存放的问题。
另一个问题就是使用CALL 调用程序的时候,写上全路径跟不写路径只有程序名,运行时哪一个速度更快一些。
对于第一个问题,其实DOS的当前路径很容量理解,查看当前路径,可以使用CD命令或者用DIR来查看当前所处的工作路径。
这儿有一点注意,就是在调用程序的时候,不论程序所在的位置,程序运行时产生的文件一般都会存放到当前路径,而不是程序所在路径,除非程序产生的文件由程序内部固定输出到某一位置。
举个例子来说: 当前在C盘根目录: C:\ ,然后C盘下有一个A文件夹,其中有一个X。BAT文件,当在C:\下运行 c:\a\x.bat 的时候,X。BAT文件的输出会放到C:\下面,而不是c:\a下面,除非使用CD C:\A ; X。BAT这样的方法来运行,X。BAT的输出才会放到A文件夹下,同样如果当前在C:\b文件夹,使用C:\A\X.BAT,X。BAT的输出会放到C:\B下面。 所以,在编写批处理的时候,在判断文件输出的时候,一定要注意,要么就直接指定输出到绝对路径,要么就不要写路径,都使用当前路径。
另一个问题就是程序运行速度。看具体例子:
使用PATH C:\;C:\A 指定了程序路径,X.BAT 位于 c:\a 下,使用 c:\a\x.bat 来运行X。BAT跟直接 x.bat来运行X。BAT文件,哪一种方法更快呢??? 两者差不多,还是完全一样??? 我个人的看法是,可能感觉不出有什么区别,但如果是在读写速度很慢的设备上运行时,应该全路径更快一些。
[ 本帖最后由 sgw888 于 2009-6-8 10:51 编辑 ] |
|