Kannste mal einen Beispielcode geben, vllt. versteh'n wir dann das Problem besser.
Hast Du relative/absolute Pfadangaben verwendet oder sowas wie "cd.."?
Batch zu Exe Compiler gibt's unter den Suchbegriffen "Batch2exe" "batch exe converter" "batch exe compiler" - wobei Du beim Compilieren dann auch ein Arbeitsverzeichnis, z.B. Temp/Localdir/etc. einstellen musst.
Wen DU in einer Batch wissen möchtest, was gerade das aktuelle Verzeichnis ist kannst Du folgenden Code verwenden:
So lässt sich das evtl. überprüfen.Code:echo [%cd%] pause
In reinem Batch [.bat, .cmd] wird immer (wenn auch nur kurz) ein schwarzes Fenster zu sehen sein. Da hilft nur ein fertiger Compiler oder Du schreibst Dir selbst ein kleines Programm, welches die Batch wiederum "hidden" ausführt.