批处理(.bat)文件中使用相对路径
2014-06-12 15:07
155 查看
一般来说,批处理文件处理相对路径的时候,起始位置是bat文件所在的目录,比如在D:\XX目录下执行bat文件,所有相对目录的操作都会以D:\XX下执行。
但是有些命令需要管理员权限,右键选择以管理员身份运行时后,起始位置则为C:\Windows\system32,这时候往往不是我们所想要的,
一种解决解决办法是在批处理的行首加一句"cd D:\XX”进入该目录,以修改其当前位置,但这样需要在批处理文件中加入绝对路径,如果把bat文件移动到其它位置就无法使用了,此时一种更好的方式是用"cd /d %~dp0”代替"cd D:\XX”。
综上所述,在写bat文件的时候,不管是否需要用到管理员权限,最好在行首加一句"cd /d %~dp0",以统一文件的起始目录。
例如,Auto.bat处于文件夹d:\my_bat\下,以下为Auto.bat的内容
cd /d %~dp0
start MDF-API\FeedServer\FeedServerV1_3.exe
代表启动“d:\my_bat\MDF-API\FeedServer\FeedServerV1_3.exe”这个程序
IF ERRORLEVEL这个句子必须放在某一个命令的后面,执行命令后由IF ERRORLEVEL 来判断命令的返回值。
if ERRORLEVEL对数值的比较方法不仅仅限于等于。在微软的帮助中我们可以看到:
IF %ERRORLEVEL% LEQ 0 goto okay
这里的LEQ表示“小于等于”,全部的比较参数如下:
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
如有错误,感谢指正。
但是有些命令需要管理员权限,右键选择以管理员身份运行时后,起始位置则为C:\Windows\system32,这时候往往不是我们所想要的,
一种解决解决办法是在批处理的行首加一句"cd D:\XX”进入该目录,以修改其当前位置,但这样需要在批处理文件中加入绝对路径,如果把bat文件移动到其它位置就无法使用了,此时一种更好的方式是用"cd /d %~dp0”代替"cd D:\XX”。
综上所述,在写bat文件的时候,不管是否需要用到管理员权限,最好在行首加一句"cd /d %~dp0",以统一文件的起始目录。
例如,Auto.bat处于文件夹d:\my_bat\下,以下为Auto.bat的内容
cd /d %~dp0
start MDF-API\FeedServer\FeedServerV1_3.exe
代表启动“d:\my_bat\MDF-API\FeedServer\FeedServerV1_3.exe”这个程序
IF ERRORLEVEL这个句子必须放在某一个命令的后面,执行命令后由IF ERRORLEVEL 来判断命令的返回值。
if ERRORLEVEL对数值的比较方法不仅仅限于等于。在微软的帮助中我们可以看到:
IF %ERRORLEVEL% LEQ 0 goto okay
这里的LEQ表示“小于等于”,全部的比较参数如下:
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
如有错误,感谢指正。
相关文章推荐
- 批处理(.bat)文件中使用相对路径
- 批处理(.bat)文件中使用相对路径
- 批处理(.bat)文件中使用相对路径
- 使用C#创建WindowsService(Windows服务):定期执行Dos命令或Bat(批处理)文件
- Java使用相对路径读取文件
- bat(续五)-获取批处理文件所在路径
- JAVA 使用相对路径读取文件
- bat(续五)获取批处理文件所在路径
- 配置文件使用绝对路径还是相对路径?
- 让vs中网站的sln文件使用相对路径的办法
- java 使用相对路径读取文件
- java 使用相对路径读取文件【转】
- JAVA 使用相对路径读取文件
- 如何在log4j.properties文件中使用相对路径
- JAVA 使用相对路径读取文件
- Asp.Net中使用Access数据库配置文件使用相对路径问题
- 批处理文件的相对路径问题
- 写文件时最好使用绝对路径, 而不使用相对路径
- java 使用相对路径读取文件
- java 使用相对路径读取文件