Shellexecute i skrypt bat

0

Mam pewien problem. W ścieżce C:\mojfolder posiadam kilka plików:

autorun.txt
cmt
default.sfx
myfile1.exe
files.txt
skrypt.bat
rar.exe

skrypt.bat, oto jego zawartość (pakowanie do archiwum SFX):

rar.exe a -sfx -m5 -z autorun.txt -hpwr -k i.exe @"files.txt"
rar.exe a -sfx -m5 -zcmt -k output.exe i.exe
del i.exe

Potrzebuje odpalić ten skrypt, aby utworzył mi w tej ścieżce plik końcowy output.exe.

Moja aplikacja to: D:\mojprogram\wykonajskrypt.exe, robię więc tak:

WinExec('C:\mojfolder\skrypt.bat', SW_SHOW);

I skrypt nie wykonuje się, bo rzekomo skryptowi brakuje plików w **D:\mojprogram**
A pliki i skrypt przecież znajdują się w *C:\mojfolder*

:(

Próbowałem zmieniać skrypt na:

C:\mojfolder\rar.exe a -sfx -m5 -z C:\mojfolder\autorun.txt -hpwr -k C:\mojfolder\i.exe @"C:\mojfolder\files.txt"
C:\mojfolder\rar.exe a -sfx -m5 -zcmt -k C:\mojfolder\output.exe C:\mojfolder\i.exe
C:\mojfolder\del i.exe

Też nie działa.

Próbowałem Shellexecute na 10 różnych sposóbów, brakuje mi już pomysłów.

Jak po prostu odpalić skrypt.bat w ścieżce *C:\mojfolder* z poziomu programu zapisanego w **D:\mojprogram**?

0

zdecyduj się - piszesz o ShellExecute a odpalasz WinExec. Poczytaj sobie o ShellExecute , szczególnie o parametrze lpDirectory albo zapoznaj się z dosową komendą CD

0

gdy wywołujesz przez WinExec to plik skrypt.bat uruchamia się jak by w z folderu gdzie masz aplikacje (tak jakoś to było bo miałem z tym problem) więc lepsze jest ShellExecute z API jak napisał Misiekd

1 użytkowników online, w tym zalogowanych: 0, gości: 1