如何在电源上启动批处理文件

时间:2015-09-15 07:46:37

标签: windows batch-file startup

我需要在用户使用他的凭据登录之前启动批处理脚本。

我该怎么办?

谢谢大家

3 个答案:

答案 0 :(得分:2)

您可以查看此How to launch a program before the shell (Explorer) starts.

如果要在shell启动之前启动应用程序,可以在注册表中为Userinit值添加值。在这个键中:

  

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon

有一个名为Userinit的值。更改它,以便您的程序在userinit.exe之前运行。例如,要在shell /其他所有其他内容初始化之前启动记事本:

  

C:\窗口\ system32 \ Notepad.exe的,C:\ Windows \ System32下\的userinit.exe

使用逗号分隔应该启动的程序。

因此,对于批处理文件,只需添加绝对路径而不是记事本示例

答案 1 :(得分:0)

如果您可以编辑系统的注册表,则可以运行regedit.exe并将浏览添加到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices。添加具有任意名称的新字符串值,并将完整批处理路径作为值。

我认为每次启动Windows时都会执行此操作。不确定它是否会在从休眠期唤醒后运行。

不要误认为HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,每次用户登录时(感谢Harry Johnston)或HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,每次用户登录时都会发生这种情况。

答案 2 :(得分:0)

您可以从本地注册表中编辑2个键

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

如果HKLM(HKEY_LOCAL_MACHINE)被修改,它将影响整个机器,因此无论谁登录,批处理文件都将运行,而HKCU(HKEY_CURRENT_USER)只会在修改注册表时影响当前登录的用户。您还可以添加,修改或验证批处理文件中上述任一键的当前存在,只需打开命令提示符并键入REG /?即可查看可用命令。