在bat中ctrl + c后更改当前目录

时间:2015-11-17 05:36:34

标签: windows batch-file

我在Windows中有一个蝙蝠,它看起来像:

cd jetty
java -jar start.jar

首先,bat文件位于c:/ project /,并且在c:/ project /处还有一个jetty目录。 在bat启动之前,当前目录是c:/ project /。 bat文件启动了一个jetty服务器。 Ctrl + C将停止服务器。但现在目前的目录是c:/ project / jetty。如果我想再次运行bat文件,我必须返回到c:/ project。如何在Ctrl + C后将目录更改回c:/ project。 附: bat文件不能直接放在c:/ project / jetty中。 感谢。

2 个答案:

答案 0 :(得分:4)

通常只需在cd ..命令之后包含java即可返回父文件夹,但 Ctrl-C 也可能取消批处理文件。

您可以使用setlocal

此命令用于保留当前环境内容(是的,它执行更多操作,请参阅setlocal /?,但在这种情况下不需要),因此当批处理上下文结束或匹配endlocal时执行对环境的更改将被丢弃。保留的元素之一是当前的活动目录。

setlocal
  cd jetty
  java -jar start.jar
endlocal

如果在达到批处理脚本中的下一行或者批处理文件终止时取消setlocal,则在两种情况下都将恢复以前的活动目录。

答案 1 :(得分:0)

使用:

cd jetty
java -jar start.jar
cd..