在批处理文件中,往往我们想运行当前目录下的某些程序,比如说bat调用java
,请参看本人的其他文章。
今天重点说怎么取得当前目录。 在度娘了很多文章之后做一个总结,目前,我发现的有两个:
1,命令 %cd%
或者 !cd!
2,命令 %~dp0
很多人用第一种命令,但是有弊端。 第一种命令,是当进入到命令所在目录后,可以这样运行,如果用windows的自动任务,或者在其他目录输入bat命令的全路径,这样就会出问题。 所以,建议使用第二种
@echo off
setlocal EnableDelayedExpansion
echo 路径1.1:!cd!
pause
@echo off
echo 路径1.2:%cd%
pause
@echo off
echo 路径2:%~dp0
%~dp0jdk1.8.0_152_X64\jdk\bin\java.exe -jar %~dp0Socket-1.0-SNAPSHOT-jfx.jar
pause
执行结果:
总结:
方法1:命令 %cd%
或者 !cd!
,取得是运行的环境目录
方法2:命令 %~dp0
,取得了bat
的文件所在目录
转载自:https://blog.csdn.net/shenyunsese/article/details/17024631