Risposte:
Un modo sarebbe quello di creare una chiave di registro HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\
puntando allo script da eseguire all'avvio. Lo scenario sarebbe:
script01.bat fa il suo lavoro e scrive HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ RunOnce \ con valore "path to script02.bat"
script02.bat fa il suo lavoro e scrive HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ RunOnce \ con il valore "path to script03.bat" e così a lungo.
Questo script è un'ottima soluzione! L'ho provato e posso confermare che funziona!
Tuttavia, consiglierei di cambiare %~n0
e %~dpnx0
di "%~n0"
e "%~dpnx0"
per prevenire gli errori di sintassi Regedit.
@echo off
call :Resume
goto %current%
goto :eof
:one
::Add script to Run key
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v %~n0 /d %~dpnx0 /f
echo two >%~dp0current.txt
echo -- Section one --
pause
shutdown -r -t 0
goto :eof
:two
echo three >%~dp0current.txt
echo -- Section two --
pause
shutdown -r -t 0
goto :eof
:three
::Remove script from Run key
reg delete HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v %~n0 /f
del %~dp0current.txt
echo -- Section three --
pause
goto :eof
:resume
if exist %~dp0current.txt (
set /p current=<%~dp0current.txt
) else (
set current=one
)
Guarda BoxStarter. http://boxstarter.org
Questo dovrebbe fornirti ciò di cui hai bisogno per riavviare e continuare.