0

У меня есть .bat-файл, который является моей .jar-файловой установкой. Файл .jar является родным приложением, которое поддерживает расширение Chrome. У меня есть следующий .bat файл:Почему мне нужно указать абсолютный адрес в моем пакетном файле?

@echo off 
rem set JARFILE = %CD%\MyNativeApp.jar 
java -jar C:\Users\reza.ahmadi\workspace\SimpleNativeApp\bin\MyNativeApp.jar 
pause 

, Jar и .bat файлы находятся в одной папке (вместе с моим манифестом). Это работает хорошо.

Моя проблема: Это не работает, если я заменю этот путь есть только с именем файла, а это означает:

java -jar MyNativeApp.jar 

не работает для меня. Я работаю с машиной Win 8.

Любые комментарии будут оценены.

+0

Что ваш Нати проявлять себя? – Xan

ответ

2

Вы можете динамически подставлять путь, получив его от исполняемого в данный момент пакетного файла (%~dp0):

java -jar "%~dp0MyNativeApp.jar" 
+0

Простое и эффективное решение, спасибо! –

1

Если файл банки находится в той же папке, что пакетный файл, вы можете использовать

@echo off 
    setlocal enableextensions disabledelayedexpansion 

    for %%a in ("%~dp0\MyNativeApp.jar") do set "JARFILE=%%~fa" 
    java -jar "%JARFILE%" 

    pause 

Вы можете найти более подробную информацию о here, как получить текущую активную папку или папку, в которой хранится пакетный файл

Смежные вопросы