计算机重新启动后恢复批处理脚本
我有一堆运行Windows 2000 Pro和IE 5.0的旧机器,我想用Silverlight升级到IE 6。我从微软的网站下载了IE6和Silverlight安装程序,幸运的是它们都有命令行选项,允许它们以“静音模式”运行。计算机重新启动后恢复批处理脚本
我把这两个命令放在一个DOS批处理脚本中并运行它,但IE6安装程序要求自动重启计算机,所以问题是如何恢复脚本并运行第二个命令(安装Silverlight)。
我的批处理文件,现在的问题是非常简单的:
ie6setup.exe /Q
silverlight.exe /q
据我所知,批处理文件不能重新启动计算机后继续执行。有没有办法让他们做到这一点?是否有另一种方法来完成我所需要的。
谢谢
你可以把第二个命令在一个独特的批处理文件,并添加一个条目,以regedit以在Windows的启动时自动运行该批处理文件,提高Silverlight的计算机重新启动后执行。
您是否听说过msconfig?在某些系统上,您正在寻找的注册表PATH是:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
但是您可能想检查一下。如果你想制作一个批处理文件在注册表中写入该密钥,你可能应该看看this tutorial。
我知道它有点老,但这个工作得:
@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
....它应该与注册表调整来启动脚本...或者只是将它放在启动文件夹中。 – 2012-06-07 04:02:38
根据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
)
这是非常好的,我将用重启选项进行无声驱动安装测试:) – 2016-04-22 19:22:38
不想让多个脚本文件和注册表混乱,但它似乎是升级这些旧机器的唯一方法。 – 2010-07-26 20:06:24