Windows 重新启动计算机后恢复批处理脚本

Windows 重新启动计算机后恢复批处理脚本,windows,internet-explorer-6,administration,Windows,Internet Explorer 6,Administration,我有一堆运行Windows2000Pro和IE5.0的旧机器,我想用Silverlight升级到IE6。我从微软的网站下载了IE6和Silverlight安装程序,幸运的是它们都有命令行选项,允许它们在“静默模式”下运行 我将这两个命令放在DOS批处理脚本中并运行了它,但是IE6安装程序需要自动重启计算机,所以问题是如何恢复脚本并运行第二个命令(安装Silverlight) 我的批处理文件现在非常简单: ie6setup.exe /Q silverlight.exe /q 据我所知,重新启动计

我有一堆运行Windows2000Pro和IE5.0的旧机器,我想用Silverlight升级到IE6。我从微软的网站下载了IE6和Silverlight安装程序,幸运的是它们都有命令行选项,允许它们在“静默模式”下运行

我将这两个命令放在DOS批处理脚本中并运行了它,但是IE6安装程序需要自动重启计算机,所以问题是如何恢复脚本并运行第二个命令(安装Silverlight)

我的批处理文件现在非常简单:

ie6setup.exe /Q
silverlight.exe /q
据我所知,重新启动计算机后,批处理文件无法恢复执行。有没有办法让他们这么做?当然,还有其他方法可以实现我所需要的


谢谢

您可以将第二个命令放在独占批处理文件中,并向regedit添加一个条目,以便在Windows启动时自动执行此批处理文件,从而使silverlight在计算机重新启动后执行

你听说过msconfig吗?在某些系统上,您要查找的regedit路径是:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

但你可能想检查一下。如果您想创建一个批处理文件来将该项写入注册表,您可能应该查看。

如果您使用命令
ie6setup.exe/q/r:n
安装IE6,那么它将不会自动重新启动(有关详细信息,请参阅)。理论上,您可以立即安装SilverLight,然后重新启动;但有可能SL安装会因为需要重新启动而拒绝,但尝试一下也不会有什么坏处…

我知道它有点旧,但它的工作原理令人惊讶:

@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

基于Tim的帖子,测试时,在批处理文件中添加了“2”,导致无法找到批处理标签“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
)
@echo关闭
电话:简历
转到%当前%
后藤:eof
字体一
::将脚本添加到运行键
注册添加HKCU\Software\Microsoft\Windows\CurrentVersion\Run/v%~n0/d%~dpnx0/f
回显两个>%~dp0current.txt
回声——第一部分--
暂停
关机-r-t0
后藤:eof
:两个
回显三个>%~dp0current.txt
回声——第二部分--
暂停
关机-r-t0
后藤:eof
字体三
::从运行密钥中删除脚本
reg删除HKCU\Software\Microsoft\Windows\CurrentVersion\Run/v%~n0/f
del%~dp0current.txt
回声——第三节--
暂停
后藤:eof
:简历
如果存在%%dp0current.txt(

set/p current=Nice技巧。我试过了,正如你所说,Silverlight在重新启动计算机之前不会识别新浏览器。哦,很遗憾……但这并不奇怪。我不想有多个脚本文件,也不想弄乱注册表,但这似乎是升级这些旧机器的唯一方法……它应该与注册表的调整结合起来,以实现升级取消选中脚本…或者简单地将其放在启动文件夹中。这非常好,我将使用带重新启动选项的静默驱动程序安装进行测试:)