Bin*_*mas 39 java windows command-line batch-file
我想在Windows上分发用Java编写的命令行应用程序.
我的应用程序作为zip文件分发,它有一个lib目录条目,其中包含调用我的主类所需的.jar文件.目前,对于Unix环境,我有一个shell脚本,它通过附加lib目录中的所有文件来调用带有CLASSPATH的java命令.
我怎么写具有类似功能的.BAT文件?什么是Windows世界中的find Unix命令的等价物?
Hen*_*y B 65
您想在批处理脚本中使用for循环
@echo off
setLocal EnableDelayedExpansion
set CLASSPATH="
for /R ./lib %%a in (*.jar) do (
set CLASSPATH=!CLASSPATH!;%%a
)
set CLASSPATH=!CLASSPATH!"
echo !CLASSPATH!
Run Code Online (Sandbox Code Playgroud)
当我在寻找一个批处理脚本来遍历目录中的所有文件时,这真的帮助了我,它是关于删除文件但它非常有用.
说实话,使用Jon的答案,如果所有文件都在一个目录中,那么这可能会更好,但这可能会帮助你在另一个时间.
Jon*_*eet 29
你为什么要用find?想必你提前知道你的jar文件需要的所有库,为什么不列出它们呢?
或者,您可以随时使用-Djava.ext.dirs=lib并让它以这种方式获取所有内容.
如果您希望CLASSPATH设置保留在脚本之外并且未使用/ V启动shell,则可以执行以下操作:
@echo off
FOR /R ./lib %%a in (*.jar) DO CALL :AddToPath %%a
ECHO %CLASSPATH%
GOTO :EOF
:AddToPath
SET CLASSPATH=%1;%CLASSPATH%
GOTO :EOF
Run Code Online (Sandbox Code Playgroud)
当您在命令行上玩游戏时,可用于设置环境.
| 归档时间: |
|
| 查看次数: |
85808 次 |
| 最近记录: |