我正在使用以下批处理脚本来运行Java命令行工具。
@echo off pushd %~dp0 setLocal EnableDelayedExpansion set CLAsspATH=" for /R ./libs %%a in (*.jar) do ( set CLAsspATH=!CLAsspATH!;%%a ) set CLAsspATH=!CLAsspATH!" java -cp !CLAsspATH! com.example.CliApplication %* popd
我已经将工具的目录添加到系统variablesPATH中,以便可以通过命令提示符从任何目录运行它。 这是工作,但我看到的问题是:
该工具的目录是C: tool 用户在C:执行batch file后,用户将保留在C: tool not C:
popup被调用,但控制台导航回到C: too ,而不是留在C:
fc.exe:windows 8中的命令行工具
如何获得通讯输出的第一列?
如何在安装而不是每次启动时一次性传递参数给windows服务
Java exec()不会返回pipe道连接命令的预期结果
Python读取windows命令行输出
脚本完成后,如何确保用户目录不被更改?
去path,然后焦油?
没有明显的原因,在一个非常基本的脚本中,“input行太长”错误
使用xdg-open打开别名是安全的
我如何testing在linux服务器上的命令行的网速(无gui)?
AJAX Progress:从Shell读取输出
没有endlocal的setlocal导致这个问题。
你只需要在调用popd之前添加一个endlocal 。
在你的代码中, popd返回到你的第一个目录,但是当setlocal存储所有的变量和所有打开的setlocals在退出批处理时被隐式的endlocals关闭,它也会恢复cd变量。
我可能会偏离轨道,但为什么不使用:
pushd .
总结以上是内存溢出为你收集整理的Windowsbatch filepopd不按预期工作全部内容,希望文章能够帮你解决Windowsbatch filepopd不按预期工作所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)