
46591
12.04.2007, aktualisiert am 02.05.2007
bat2com Probleme
Finde den Fehler nicht ! 
Hallo !
Die nachfolgenden 3 Zeilen machen Probleme, wenn ich sie mit BAT2COM bzw. auch BAT2EXE compliere.
Bei compalieren ist immer der Fehler, wenn ein Prozentzeichen (%) vorhanden ist.
for /F "delims=" %%A in ('dir /s /b C:\garten2007.exe') do set dest="%%~dpA"
copy setup.exe %dest%\setup2.exe
pushd %dest%
Gibt es für diese drei Schritte eine andere Möglichkeit? Habe seit gestern nach eine Lösung gesucht, aber ERFOLGLOS.
Vielen Dank für eventuelle Lösungen und ab morgen ein schönes SONNIGES Wochenende.
Gruß Kif
Hallo !
Die nachfolgenden 3 Zeilen machen Probleme, wenn ich sie mit BAT2COM bzw. auch BAT2EXE compliere.
Bei compalieren ist immer der Fehler, wenn ein Prozentzeichen (%) vorhanden ist.
for /F "delims=" %%A in ('dir /s /b C:\garten2007.exe') do set dest="%%~dpA"
copy setup.exe %dest%\setup2.exe
pushd %dest%
Gibt es für diese drei Schritte eine andere Möglichkeit? Habe seit gestern nach eine Lösung gesucht, aber ERFOLGLOS.
Vielen Dank für eventuelle Lösungen und ab morgen ein schönes SONNIGES Wochenende.
Gruß Kif
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 56522
Url: https://administrator.de/forum/bat2com-probleme-56522.html
Ausgedruckt am: 22.04.2025 um 07:04 Uhr
9 Kommentare
Neuester Kommentar
Moin clipclip,
das glaube ich nicht, dass die Prozentzeichen die Probleme machen.
Ich tippe eher darauf, dass diese so genannten "Batch-Kompiler" zwar su heißen, aber natürlch gar nichts kompilieren, sondern schlicht und einfach den in der Original-Batch stehenden Code Zeile für Zeile und Zeichen für Zeichen an den Command-Interpreter senden.
Die Bat2Exe macht es jedenfalls so, dass bei Aufruf der .exe temporär eine bf[nnnn].bat im %Temo%-Verzeichnis angelegt wird, die dann ganz normal vom CMD-Interpreter abgearbeitet wird.
Somit kann ich mir vorstellen, dass es Pfadprobleme geben könnte, z.B. dass die heruntergeladene Setup-exe (wird ohne Zielpfad gesaugt) sich gar nicht in dem Verzeichnis der .bat befindet und entsprechend auch nicht kopiert werden kann.
Spricht denn etwas dagegen, mal ein paar ECHOs einzubauen, die Z.B. den aktuellen Pfad %cd% ausgeben vor, nach jedem Schritt?
Gruss
Biber
das glaube ich nicht, dass die Prozentzeichen die Probleme machen.
Ich tippe eher darauf, dass diese so genannten "Batch-Kompiler" zwar su heißen, aber natürlch gar nichts kompilieren, sondern schlicht und einfach den in der Original-Batch stehenden Code Zeile für Zeile und Zeichen für Zeichen an den Command-Interpreter senden.
Die Bat2Exe macht es jedenfalls so, dass bei Aufruf der .exe temporär eine bf[nnnn].bat im %Temo%-Verzeichnis angelegt wird, die dann ganz normal vom CMD-Interpreter abgearbeitet wird.
Somit kann ich mir vorstellen, dass es Pfadprobleme geben könnte, z.B. dass die heruntergeladene Setup-exe (wird ohne Zielpfad gesaugt) sich gar nicht in dem Verzeichnis der .bat befindet und entsprechend auch nicht kopiert werden kann.
Spricht denn etwas dagegen, mal ein paar ECHOs einzubauen, die Z.B. den aktuellen Pfad %cd% ausgeben vor, nach jedem Schritt?
Gruss
Biber
Bekommst Du den eine Konkretere Fehlermeldung?
Hast Du mal versucht das ganze selbst in C nachzuprogrammieren, bzw. über den Shell-Befehl und die Batch Befehle selbst die Funktionalität des Bat2exe compilers nachzubilden?
Dort könntest du dann einige aufrufe auch anders gestalten dann, was vielleicht besser funktionieren könnte.
miniversum
Hast Du mal versucht das ganze selbst in C nachzuprogrammieren, bzw. über den Shell-Befehl und die Batch Befehle selbst die Funktionalität des Bat2exe compilers nachzubilden?
Dort könntest du dann einige aufrufe auch anders gestalten dann, was vielleicht besser funktionieren könnte.
miniversum
Ja schon klar.
Versuchs mal mit nem C compiler wie z.b. dev C++.
In C kannst du batch Befehle direkt einbauen z.B. so:
Auf diese art kansnt du auch einzelne Zeilen später abändern und teilweise C- Code verwenden.
Auf diese art hast du die Funktion dieser bat2exe compiler nachgebildet udn aknnst an kritischen oder falsch übernommenen Stellen nacharbeiten.
miniversum
Versuchs mal mit nem C compiler wie z.b. dev C++.
In C kannst du batch Befehle direkt einbauen z.B. so:
system("echo %cd%");
system("PAUSE");
Das ganze kannst Du dann compilieren und eine exe daraus erzeugen.system("PAUSE");
Auf diese art kansnt du auch einzelne Zeilen später abändern und teilweise C- Code verwenden.
Auf diese art hast du die Funktion dieser bat2exe compiler nachgebildet udn aknnst an kritischen oder falsch übernommenen Stellen nacharbeiten.
miniversum