Jak automaticky pustit cmd blízko Dávkový Soubor [duplicitní]

0

Otázka

Takže mám Javafx Maven Projekt, který vedu s .bat

@echo off
set JLINK_VM_OPTIONS=
set DIR=%~dp0
"%DIR%\java" %JLINK_VM_OPTIONS% -m Main/org.openjfx.Main %*

to funguje, ale cmd pobyty otevřeli a když jsem to zavřít projekt zavře aswell zeptal jsem se tady , ale já ne mám funkční odpověď, takže jsem se jen zeptat tady

btw omlouvám se za moje špatná angličtina

batch-file cmd java javafx
2021-11-22 19:56:39
2

Nejlepší odpověď

3

Zdá se být nejisté, co budete muset být otevřený, (jediným cílem, že dávkový soubor je, aby konzole otevřené okno pro vizuální console zpětné vazby), ale odpověď na vaši žádost, budete muset spustit váš bat souboru z cmd řádku, aby bylo možné předat parametry, jinak je to hlavně zbytečné.

@echo off
set "JLINK_VM_OPTIONS="
set "DIR=%~dp0"
start "" "%DIR%javaw" %JLINK_VM_OPTIONS% -m Main/org.openjfx.Main %*
rem See notes
rem exit

Poznámka

javaW budestart java pro windows v non režimu konzoly, tedy propouštět dávkový soubor. Nicméně, pokud jste běží z konzole cmd, který je samostatný exit to je potřeba jako další poslední řádek, takže se snažte s rem první pak odstranit, že poslední rem vidět žádný rozdíl.

Pokud zjistíte, javaW není vhodné, pak odstraňte W na konci.

Nemám tušení, proč se zdrojem, že soubor byl konstruován non windows módní výjimkou cílem se zdá být prefix spustit zrušením jednoho a nastavení přednastavených prostředí hodnota, pak se drží, takže by mohla být snížena na

@Title "Feedback"&set "JLINK_VM_OPTIONS="&set "DIR=%~dp0"&"%DIR%java" -m Main/org.openjfx.Main %*
@echo Done&pause&exit
2021-11-23 10:10:52
0

Co jsem pochopil od tebe je jako otázka , Jak automaticky zavřít dávkový program, ale mějte java program běží? zkuste to, pokud to funguje.

2021-11-22 22:14:02

Ano, ale Problém je, že pak ještě cmd ukazuje nahoru, ale to má ikonu openjdk
Nils Schmidt

Zkusili jste použít javaw.exe pro spuštění vaší aplikace ?
BASSAM ALHARBI

no, jak to provést v můj kód šarže, protože jsem použít Jlink a to jen mi dal tuhle várku a dont vědět, jak správně něco změnit
Nils Schmidt

stackoverflow.com/a/54134685/16533050 kontroly odpověď, může vám pomoci.
BASSAM ALHARBI

@BASSAMALHARBI Windows příkazový procesor cmd.exe vždy čeká na self-ukončení začal spustitelný na spuštění v rámci příkazového řádku okno, nezávislé na začal aplikace je Windows aplikace konzoly jako java.exe nebo Windows GUI aplikace, jako javaw.exe. To je rozdíl spuštění spustitelný soubor z příkazového řádku okno, na kterém cmd.exe čeká jen na konzole aplikace pro self-ukončení zatímco se systémem Windows GUI aplikace je spuštěna jako samostatný proces.
Mofi

@BASSAMALHARBI použití příkazu start výsledky při spuštění aplikace, jako samostatný proces prováděn paralelně do dávkového souboru. Toto rozdílné chování může být viděn na otevření okna příkazového řádku a spuštěním C:\Windows\notepad.exe. Zatímco Poznámkový blok je spuštěn, může uživatel přepnout zpět do okna příkazového řádku a zadejte a spusťte příkaz echo Notepad is running. Ale na psaní do dávkového souboru C:\Windows\notepad.exe a jako druhý řádek echo Notepad is not running anymore.& pause a dvojitým kliknutím na dávkový soubor, to může být vidět, že ECHO je popraven
Mofi

@BASSAMALHARBI pouze tehdy, když uživatel zavře začal Poznámkový blok. Takže tvůj odkaz na další otázku, vysvětlí rozdíl mezi java.exe (Windows verze konzole) a javaw.exe (Windows GUI verze) není opravdu odpovědět na otázku, jak jen pomocí javaw.exe instead of java.exe` neřeší problém s cmd.exe čeká na self-ukončení před pokračováním dávkového souboru zpracování, což vede k zavírání sám na to, že začal s /C tak, jak udělat na dvojité kliknutí dávkový soubor v systému Windows Explorer.
Mofi

@Mofi , Díky moc za vysvětlení.
BASSAM ALHARBI

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................