Windows 如何在开机pc时启动批处理文件
在用户使用凭据登录之前,我需要在启动时启动批处理脚本 我怎么办Windows 如何在开机pc时启动批处理文件,windows,batch-file,startup,Windows,Batch File,Startup,在用户使用凭据登录之前,我需要在启动时启动批处理脚本 我怎么办 谢谢大家如果您可以编辑系统注册表,您可以运行regedit.exe并将浏览添加到HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices。添加具有任意名称的新字符串值,并将完整批处理路径作为值 我认为这将在每次启动Windows时执行。不确定它是否会在从休眠期醒来后运行 不要被误认为是HKEY\U LOCAL\U MACHINE\SOFT
谢谢大家如果您可以编辑系统注册表,您可以运行regedit.exe并将浏览添加到
HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices
。添加具有任意名称的新字符串值,并将完整批处理路径作为值
我认为这将在每次启动Windows时执行。不确定它是否会在从休眠期醒来后运行
不要被误认为是
HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
,每次用户登录(感谢Harry Johnston)或HKEY\U CURRENT\U user\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
时都会发生这种情况,每次某个用户登录时都会发生这种情况。您可以从本地注册表编辑两个键
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/?
即可查看可用命令。您可以查看此命令
如果要在shell启动之前启动应用程序,可以向注册表中的Userinit
值添加一个值。在该键中:
HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
有一个名为Userinit
的值。更改它,使程序在userinit.exe之前运行。例如,要在初始化shell/everything之前启动记事本,请执行以下操作:
C:\WINDOWS\system32\notepad.exe,C:\WINDOWS\system32\userinit.exe
使用逗号分隔应启动的程序
因此,对于批处理文件,同样的事情是在旧的windows版本中添加绝对路径,而不是记事本示例(例如autoexec.bat)。这在本文前面已经提到过,您可以使用Microsoft的srvany或第三方NSSM。(谷歌他们。)NSSM更强大。另一个解决方案是自动登录该帐户,然后运行批处理,最后调用“rundll32.exe user32.dll,lockstation”再次锁定工作站。。看看答案,我现在意识到这个问题还不清楚。首先,即使没有用户登录,也要运行脚本吗?其次,在允许用户登录之前,脚本是否必须完成运行?@Harry Johnston:对。我已经更新了我的答案。谢谢