Bat2Exe - Batch-Datei enthält Schleife und der Exe-Task darf nicht als CMD-Task im Taskmanager auftauchen
Hallo,
ich bin auf der Suche nach einem Converter, der mir aus einer Batch-Datei einen Exe-Datei macht.
Ich habe zwar diesen Beitrag hier gefunden:
bat2exe
Aber die sehr alte Version hier http://www.computerhope.com/dutil.htm kann nicht mit einer Schleife in Form von Sprungmarken umgehen, die neuere Version gibt's scheinbar nirgends mehr
Ich habe folgende Test-Batch:
Der Converter sollte dabei folgende Eigenschaften haben:
- er sollte mit der oben genannten Form der Schleife umgehen können
- die erzeugte Exe sollte im Taskmanager als eigener Task auftauchen, z.B. in Form von test.exe, und nicht wie bei einer mit dem oben verlinkten alten Bat2Exe als cmd im Taskmanager auftauchen. Grund: Die Exe sollte man eindeutig identifiziere können, so dass man sie mit einem Taskkill auch beenden kann. Ein Taskkill auf cmd.exe beendet alle Batch-File, die dann noch aktiv sind
- schön, aber nicht unbedingt notwendig, wäre wenn man auch Sprungmarken verwenden kann, die länger als 8 Zeichen sind. Das ganze braucht nur in einer Windows Umgebung zu laufen.
Viele Grüße
Martin
ich bin auf der Suche nach einem Converter, der mir aus einer Batch-Datei einen Exe-Datei macht.
Ich habe zwar diesen Beitrag hier gefunden:
bat2exe
Aber die sehr alte Version hier http://www.computerhope.com/dutil.htm kann nicht mit einer Schleife in Form von Sprungmarken umgehen, die neuere Version gibt's scheinbar nirgends mehr
Ich habe folgende Test-Batch:
@echo off
set errorlevel=1
:start
dir test.*|find /I "test.pnp"
IF errorlevel==1 (goto 2) ELSE goto File1
:File1
echo "File 1 gefunden!!!"
goto end
:2
dir hanstest.*|find /I "hanstest.png"
IF errorlevel==1 (goto start) ELSE goto File2
:File2
echo "File 2 gefunden"
goto end
:end
exit
Der Converter sollte dabei folgende Eigenschaften haben:
- er sollte mit der oben genannten Form der Schleife umgehen können
- die erzeugte Exe sollte im Taskmanager als eigener Task auftauchen, z.B. in Form von test.exe, und nicht wie bei einer mit dem oben verlinkten alten Bat2Exe als cmd im Taskmanager auftauchen. Grund: Die Exe sollte man eindeutig identifiziere können, so dass man sie mit einem Taskkill auch beenden kann. Ein Taskkill auf cmd.exe beendet alle Batch-File, die dann noch aktiv sind
- schön, aber nicht unbedingt notwendig, wäre wenn man auch Sprungmarken verwenden kann, die länger als 8 Zeichen sind. Das ganze braucht nur in einer Windows Umgebung zu laufen.
Viele Grüße
Martin
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 61859
Url: https://administrator.de/forum/bat2exe-batch-datei-enthaelt-schleife-und-der-exe-task-darf-nicht-als-cmd-task-im-taskmanager-auftauchen-61859.html
Ausgedruckt am: 01.04.2025 um 20:04 Uhr
5 Kommentare
Neuester Kommentar
Hallo blacksun!
Zumindest zum Thema "taskkill" könnte ich einen Vorschlag machen: Benenne einfach das CMD-Fenster mit einem eindeutigen Fenstertitel, etwa
Danach kannst Du (aus einem anderen CMD-Fenster) mit
die richtige CMD-Instanz eliminieren.
Grüße
bastla
Zumindest zum Thema "taskkill" könnte ich einen Vorschlag machen: Benenne einfach das CMD-Fenster mit einem eindeutigen Fenstertitel, etwa
title Batch0816
taskkill /FI "WINDOWTITLE eq Batch0816" >nul
Grüße
bastla

Hallo,
"Bat 2 EXE" kann es (kostet aber) http://www.cadkas.de/downgertools21.php
Kannst ja erstmal testen.
gruß
"Bat 2 EXE" kann es (kostet aber) http://www.cadkas.de/downgertools21.php
Kannst ja erstmal testen.
gruß
Hallo blacksun!
Könnte nach dem selben Prinzip wie oben funktionieren, etwa
Solange dieser Batch läuft, solltest Du die gleiche Batchdatei nicht nochmals starten können (oder jedenfalls nur für sehr kurze Zeit
).
Grüße
bastla
Könnte nach dem selben Prinzip wie oben funktionieren, etwa
@echo off & setlocal
tasklist /FI "WINDOWTITLE eq Batch0816" 2>nul | findstr /i "cmd.exe">nul && exit
title Batch0816
pause
Grüße
bastla

Hallo,
gruß
...den Nachteil, dass wenn ich per Taskkill die Exe beende, dass die CMDs, die im Rahmen der exe gestartet wurden, noch weiterlaufen.
Gib mir mal den taskill-Befehl genau den Du benutzt hast und welche der beiden Optionen hast Du zum Erstellen der EXE benutzt?gruß