Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 启动时运行批处理文件_Batch File_Windows 7_Startup - Fatal编程技术网

Batch file 启动时运行批处理文件

Batch file 启动时运行批处理文件,batch-file,windows-7,startup,Batch File,Windows 7,Startup,在系统启动时,是否有办法在批处理文件中启动多个程序?除此之外,在批处理文件中,我想说:一旦我执行一个程序,等待该程序完全加载,然后执行下一个列出的程序 任何帮助都将不胜感激 要在启动时运行批处理文件:启动>>所有程序>>右键单击启动>>打开>>右键单击批处理文件>>创建快捷方式>>将快捷方式拖动到启动文件夹 文件夹的路径是:[D|C]:\Profiles\{User}\‌​AppData\Roaming\Micro‌​soft\Windows\Start Menu\Programs\Startu

在系统启动时,是否有办法在批处理文件中启动多个程序?除此之外,在批处理文件中,我想说:一旦我执行一个程序,等待该程序完全加载,然后执行下一个列出的程序


任何帮助都将不胜感激

要在启动时运行批处理文件:启动>>所有程序>>右键单击启动>>打开>>右键单击批处理文件>>创建快捷方式>>将快捷方式拖动到启动文件夹


文件夹的路径是:
[D|C]:\Profiles\{User}\‌​AppData\Roaming\Micro‌​soft\Windows\Start Menu\Programs\Startu‌​p

有几种方法可以在启动时运行批处理文件。我通常使用的方法是通过任务调度器。如果按windows键,然后键入task scheduler,它将作为一个选项出现(或通过管理工具查找)

创建新任务时,您可以从触发器选项中进行选择,例如特定用户的“登录时”、“工作站上解锁”等。然后在操作中,您选择启动程序并将完整路径放入批处理脚本(还有一个选项用于放入所需的任何命令行参数)

以下是在Firefox中启动堆栈溢出的示例脚本:

@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

要在系统启动时启动批处理文件,还可以使用注册表项

HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

在这里您可以创建一个字符串。作为名称,您可以选择任何内容,并且数据是文件的完整路径

还有注册表项

HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce


仅在系统的下一次启动时运行某个程序。

我在Win7中遇到了相同的问题,即在启动时(计算机启动时)运行脚本(.bat)与在有人登录时运行脚本(.bat),这将使用netsh修改网络参数。最终对我起作用的是:

  • 使用管理员帐户登录
  • 单击开始并键入“任务调度器”,然后单击返回
  • 单击“任务计划程序库”
  • 单击屏幕右侧的“创建新任务”,并按如下方式设置参数:

    a。将用户帐户设置为系统

    b。选择“以最高权限运行”

    c。选择Windows7的操作系统

  • 单击“触发器”选项卡,然后单击“新建…” 从下拉菜单中选择“启动时”,单击启用并单击确定
  • 单击“操作选项卡”,然后单击“新建…” 如果正在运行.bat文件,请使用cmd作为put的程序 /蝙蝠 在“添加参数”字段中
  • 单击“确定”,然后单击“创建任务”面板上的“确定”,它现在将 预定
  • 将.bat脚本添加到任务事件中指定的位置
  • 享受
  • 转到运行(WINDOWS+R),然后 类型
    shell:startup,将.bat文件粘贴到那里

    如果您的Windows语言与英语不同,您可以通过以下方式启动任务计划程序:

  • 按Windows+X
  • 选择“计算机管理”的语言翻译
  • 按照恶作剧提供的答案中的说明进行操作

  • 另一个选项是将批处理文件作为服务运行,并将服务的启动设置为“自动”或“自动(延迟启动)”。 查看此项了解有关如何操作的更多信息,我个人最喜欢NSSM。

    RunOnce 是一个选项,有几个键可用于指示命令在启动时启动(取决于它是否涉及用户或整个系统):

    设置值:

    reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce" /v MyBat /D "!C:\mybat.bat"
    
    如果脚本的值不同于0,则不会删除注册表项,每次启动时都会执行脚本

    ::the global one
    C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
    ::for the current user
    %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
    
    施塔克斯 您可以使用和触发事件:

    SCHTASKS /Create /SC ONEVENT /MO ONLOGON /TN ON_LOGON /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
    

    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文件,在我们的例子中您的_文件.bat

    4.写下.bat文件的内容。 例如:


    5.运行您的_file.bat和ejoy:)

    我认为这个问题最好放在超级用户身上。无论如何,启动应用程序都位于注册表和一个特殊文件夹中。你的第二个问题更复杂:你需要你想要运行的程序的帮助(它是交互式的吗?它会立即执行并返回?)我的计划是禁用加载任何启动项(在系统配置中),而只加载系统服务。然后将该系统函数替换为加载所有启动项的批处理文件。我不知道它是否会工作得更好,但我想我可能会测试它,看看是否加载速度仍然很慢(在启动时)。我要加载的程序都不需要任何交互性。这是一个优雅而强大的解决方案。如果你想提高你的技术水平,这是非常有用的。这是一个简单而快速的解决方案。如果你只想解决这个问题,它很有用。你说的启动文件夹是什么意思?它在
    Win/System32
    目录中吗?不,在
    D:\Profiles\{User}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
    Win+r中,键入“shell:Startup”奇怪的是,直接存在的bat文件不起作用,我不得不来这里学习它似乎需要一个快捷方式XD。有趣。谢谢为了实用起见,您甚至可以添加一个带有批处理文件的任务schdeuler条目。谢谢,我只是在“acti”上指向了实际的批处理文件
    Set WshShell = CreateObject("WScript.Shell") 
    WshShell.Run chr(34) & "C:\Users\toto\your_file.bat" & Chr(34), 0
    Set WshShell = Nothing
    
     @echo off
        php c:\laragon\www\my_app\artisan serve --host=127.0.0.1 --port=8000