有没有办法在系统启动时在批处理文件中启动多个程序?除此之外,在该批处理文件中,我希望能够说:一旦我执行一个程序,等到该程序完全加载,然后执行下一个列出的程序。
任何帮助将不胜感激。
答案 0 :(得分:64)
我在Win7中遇到了关于在启动时运行脚本(.bat)的问题(当计算机启动时与有人登录时),这将使用netsh修改网络参数。最终为我工作的是以下内容:
点击屏幕右侧的“创建新任务”,按如下方式设置参数:
一个。将用户帐户设置为SYSTEM
湾选择“以最高权限运行”
℃。选择适用于Windows7的操作系统
答案 1 :(得分:61)
要在启动时运行批处理文件:开始>>所有节目>>右键单击启动>>打开>>右键单击批处理文件>>创建快捷方式>>将快捷方式拖到启动文件夹。
该文件夹的路径为:[D|C]:\Profiles\{User}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
答案 2 :(得分:14)
要在系统启动时启动批处理文件,您还可以使用注册表项。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
在这里你可以创建一个字符串。作为名称,您可以选择任何内容,数据是文件的完整路径。
还有注册表项
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
仅在系统的下一次启动时运行。
答案 3 :(得分:11)
有几种方法可以在启动时运行批处理文件。我经常使用的是通过任务调度程序。如果按下Windows键然后键入任务计划程序,它将作为选项出现(或通过管理工具查找)。
创建新任务时,您可以选择触发选项,例如特定用户的“登录时”,工作站解锁等。然后在您选择的操作中启动程序并将完整路径放入批处理脚本(还有一个选项可以放置任何命令行args)。
这是一个在Firefox中启动Stack Overflow的示例脚本:
@echo off
title Auto launch Stack Overflow
start firefox http://stackoverflow.com/questions/tagged/python+or+sql+or+sqlite+or+plsql+or+oracle+or+windows-7+or+cmd+or+excel+or+access+or+vba+or+excel-vba+or+access-vba?sort=newest
REM Optional - I tend to log these sorts of events so that you can see what has happened afterwards
echo %date% %time%, %computername% >> %logs%\StackOverflowAuto.csv
exit
答案 4 :(得分:3)
转到运行(WINDOWS + R),然后 类型 shell:startup ,将您的.bat文件粘贴到那里!
答案 5 :(得分:1)
1. 将以下几行复制到记事本中。
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\Users\toto\your_file.bat" & Chr(34), 0
Set WshShell = Nothing
注意:根据您的要求在脚本中相应地替换批处理文件名/路径。
2. 使用 .VBS 扩展名保存文件,例如 launch_bat.vbs
3. 创建新的 .bat 文件,在我们的例子中是 your_file.bat
4. 写入 .bat 文件的内容。 示例:
@echo off
php c:\laragon\www\my_app\artisan serve --host=127.0.0.1 --port=8000
5. 运行 your_file.bat 和 ejoy :)
答案 6 :(得分:0)
如果您的Windows语言不同于英语,则可以通过
启动任务计划程序。答案 7 :(得分:0)
另一种选择是将批处理文件作为服务运行,并将服务的启动设置为“ 自动”或“ 自动(延迟启动)”。 请查看此question,以获取有关操作方法的更多信息,我个人最喜欢NSSM。
答案 8 :(得分:0)
RunOnce是一个选项,它具有一些键,可用于指向启动时启动的命令(取决于它是否涉及用户或整个系统):
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
设置值:
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce" /v MyBat /D "!C:\mybat.bat"
开头带有设置和感叹号,并且如果脚本的值不为0,则不会删除注册表项,并且每次启动时都会执行该脚本
您可以使用SCHTASKS和触发事件:
SCHTASKS /Create /SC ONEVENT /MO ONLOGON /TN ON_LOGON /tr "c:\some.bat"
或
SCHTASKS /Create /SC ONEVENT /MO ONSTART/TN ON_START /tr "c:\some.bat"
您还有两个启动文件夹-一个用于当前用户,一个用于全局。 您可以在此处复制脚本(或快捷方式)以在启动时启动文件
::the global one
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
::for the current user
%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup