problem z działaniem pliku wsadowego

problem z działaniem pliku wsadowego
YG
  • Rejestracja: dni
  • Ostatnio: dni
0

Nie wiem dlaczego, ale gdy uruchamiam plik z palca, to wszysto działa ok., natomiast jak jest uruchamiany z automatu, to coś się sypie :(
Pokrótce program działa w następujący sposób, przy pierwszym uruchomieniu dodaje do autostartu swoją instancję, po czym ma się uruchomić określoną ilość razy (w tym przypadku pięć razy). Na razie nie chciało mi się za bardzo kombinować, więc licznik jest prymitywny i są to tworzone pliki o kolejnych numerach. Na końcu skryptu mamy wymuszenie resetu, a w dwóch ostatnich linijkach jest zakomentowane usunięcie wpisu z autostartu, oraz usunięcie stworzonych plików.
I teraz o działaniu programu, o ile uruchamiając go z palca wszystko ładnie działa - przechodzi kolejno przez poszczególne pozycje aż do ostatniej, to gdy został dodany do autostartu, to po restarcie komputera, mimo, że nie ma plików sterujących (01.inst 02.inst 03.inst itd.) on je pamięta.
Testowałem na wirtualnej maszynie z win xp sp3, więc może tu tkwi problem, jutro jeszcze spróbuję na normalnym kompie, a gdyby ktoś się bardzo nudził i chciał pomóc, to na partycji d trzeba utworzyć katalog install, zapisać w nim skrypt jako install.bat i utworzyć jeszcze jeden pliczek (może być pusty) o nazwie plik.txt

Kopiuj
@echo off

echo "Proszę czekać trwa inicjowanie..."
ping 127.0.0.1 -n 5 -w 1000 > nul

IF EXIST 01.upd GOTO 02
rem dodanie skryptu do autorun'a
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v "install" /t REG_SZ /d "D:\test\install.bat" /f

type plik.txt > 01.inst
echo "Instalowanie 1..."
GOTO END

:02
IF EXIST 02.upd GOTO 03
type plik.txt > 02.inst
echo "Instalowanie 2..."
pause
GOTO END

:03
IF EXIST 03.upd GOTO 04
type plik.txt > 03.inst
echo "Instalowanie 3..."
pause
GOTO END

:04
IF EXIST 04.upd GOTO 05
type plik.txt > 04.inst
echo "Instalowanie 4..."
pause
GOTO END

:05
rem reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v "install" /f
rem del *.inst

echo Koniec
pause

:END
shutdown -r -t 5
Azarien
  • Rejestracja: dni
  • Ostatnio: dni
0

być może plik jest uruchamiany z innego katalogu, i raz pliki widzi a raz nie…
Zapisuj pliki zawsze do jednego miejsca, np. %temp%\01.inst

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.