2010-07-26 126 views
1

我有一堆運行Windows 2000 Pro和IE 5.0的舊機器,我想用Silverlight升級到IE 6。我從微軟的網站下載了IE6和Silverlight安裝程序,幸運的是它們都有命令行選項,允許它們以「靜音模式」運行。計算機重新啓動後恢復批處理腳本

我把這兩個命令放在一個DOS批處理腳本中並運行它,但IE6安裝程序要求自動重啓計算機,所以問題是如何恢復腳本並運行第二個命令(安裝Silverlight)。

我的批處理文件,現在的問題是非常簡單的:

ie6setup.exe /Q 
silverlight.exe /q 

據我所知,批處理文件不能重新啓動計算機後繼續執行。有沒有辦法讓他們做到這一點?是否有另一種方法來完成我所需要的。

謝謝

回答

3

你可以把第二個命令在一個獨特的批處理文件,並添加一個條目,以regedit以在Windows的啓動時自動運行該批處理文件,提高Silverlight的計算機重新啓動後執行。

您是否聽說過msconfig?在某些系統上,您正在尋找的註冊表PATH是:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 

但是您可能想檢查一下。如果你想製作一個批處理文件在註冊表中寫入該密鑰,你可能應該看看this tutorial

+0

不想讓多個腳本文件和註冊表混亂,但它似乎是升級這些舊機器的唯一方法。 – 2010-07-26 20:06:24

1

如果使用命令ie6setup.exe /q /r:n執行IE6安裝,那麼它將不會自動重啓(有關詳細信息,請參見this page)。然後理論上你可以立即安裝SilverLight,然後重新啓動;但有一個機會,SL安裝由於需要重新啓動的會拒絕,但它不會傷害嘗試吧...

+0

好戲。我試過了,正如你所說,在重新啓動計算機之前,Silverlight將無法識別新的瀏覽器。 – 2010-07-26 20:05:18

+0

哦,傷心......但並不奇怪。 – ewall 2010-07-27 13:10:55

1

我知道它有點老,但這個工作得:

@echo off 
call :Resume 
goto %current% 
goto :eof 

:one 
echo two >>myfile.cmd 
::REBOOT HERE 
goto :eof 

:two 
echo resumed here 
goto :eof 

:resume 
rem THIS PART SHOULD BE AT THE BOTTOM OF THE FILE 
set current=one 
+0

....它應該與註冊表調整來啓動腳本...或者只是將它放在啓動文件夾中。 – 2012-06-07 04:02:38

3

根據Tim的帖子,當測試時,將「two」添加到批處理文件中導致無法找到批處理標籤「onetwo」,所以修改爲&從單獨的文本文件中寫入「current」變量,保持批處理文件不變;

@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 
) 
+0

這是非常好的,我將用重啓選項進行無聲驅動安裝測試:) – 2016-04-22 19:22:38

相關問題