这几天由于工作需要在研究批处理添加系统定时任务,由于本人用的是WIN7系统,由工作路径产生了一些问题,不知道XP是不是也有这个问题,首先,来做个试验。
在我的D盘Test目录下有两个文件,一个test.txt,一个test.bat,如下图所示:
test.bat内容如下:
目的很简单,就是想通过批处理test.bat打开test.txt文件。
1、直接双击test.bat,一切正常,test.txt如我所愿被打开了,并且输出了当前工作路径D:/Test。
2、右击test.bat,选择以“管理员身份运行”,这时现象出来了,屏幕输出当前工作路径是C:/Windows/System32,也就是cmd.exe的路径,并用test.txt也没有被打开。
好,问题出来了,就是当前工作路径在作怪。
要解决这个问题,首先要获取当前test.bat的路径,代码如下:
这时,%base_dir%已经存储了当前test.bat的绝对路径了,接下来就是要将运行时的当前工作路径