![如何让 VB 脚本在每次 Windows 启动时执行?](https://linux22.com/image/1270311/%E5%A6%82%E4%BD%95%E8%AE%A9%20VB%20%E8%84%9A%E6%9C%AC%E5%9C%A8%E6%AF%8F%E6%AC%A1%20Windows%20%E5%90%AF%E5%8A%A8%E6%97%B6%E6%89%A7%E8%A1%8C%EF%BC%9F.png)
INI.file
我的目标是在每次启动或重新启动 Windows XP 时进行复制。
以下 VB 脚本INI.file
从本地目录复制到C:\INI_DIR
。
我尝试将 VB 脚本复制到C:\WINDOWS\system32\config\systemprofile\Start Menu\Programs\Startup
,但无法激活。是不是路径不对?如何才能让它在启动/重启时执行?
剧本:
Dim currDir
Const OverwriteExisting = True
Set fso = CreateObject("Scripting.FileSystemObject")
currDir = fso.GetParentFolderName(Wscript.ScriptFullName)
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile currDir & "\INI.file" , "C:\INI_DIR" , OverwriteExisting
' Release the objFSO objects
Set objFSO = Nothing
' Release the fso objects
Set fso = Nothing
答案1
这是错误的路径。这是系统帐户的登录配置文件(找不到任何直接文档,但是这提到了这一事实)。这是系统服务器将运行的帐户,但不会为交互式用户运行。
您的帐户的启动文件夹位于:
c:\Documents And Settings\{Your User Name}\Start Menu\Programs\Startup
或者如果您希望它对所有登录运行,但它变成:
c:\Documents And Settings\All Users\Start Menu\Programs\Startup
答案2
这应该会对您有所帮助...特别是如果您不习惯编码而宁愿使用 GUI 界面。
深入了解
如何自动运行 VBScript 以在启动时运行。
步骤1
单击
Start -> Run -> cmd
或单击search
并键入cmd
按
enter
输入
assoc .vbs
命令提示符应该打印.vbs=VBSFile
在命令提示符下输入
ftype VBSFile
应该打印的内容:vbsfile="%SystemRoot%\System32\WScript.exe" "%1" %*
所以,现在您知道您的 vbscript 文件默认使用 WScript 打开。
在命令提示符下输入:
reg query HKEY_CLASSES_ROOT\Applications\WScript.exe /s
如果你没有看到这个:
HKEY_CLASSES_ROOT\Applications\WScript.exe
(Standard) REG_SZ "%SystemRoot%\System32\WScript.exe" "%1" %*
然后您需要执行以下操作,如果您看到上述内容,那么您可以跳过并转到步骤 3:
第2步
去:
开始
跑步
输入:
regedit
选择
regedit
按enter
(或双击 regedit)并allow the program to make changes to your computer
导航到:(
HKEY_CLASSES_ROOT\Applications\WScript.exe
如果WScript.exe
不存在键,请右键单击Applications
并将create new key
其重命名为 WScript.exe)在右侧空白处,有值的地方,
right-click
选择new
选择
String Value
Name
在突出显示的位置下New Value #1
,rename
输入(Standard)
在下方
Data
,双击空值并输入上一步获得的值"%SystemRoot%\System32\WScript.exe" "%1" %*
步骤3
如果你还没有regedit
打开,请前往:
开始
跑步
输入:
regedit
选择
app
,按回车键allow the program to make changes to your computer
否则,如果 regedit 已打开,则:
导航:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
在右侧空白处右键点击运行文件夹,里面有值的地方,右键选择
new
选择
Expandable String Value
在突出显示“新值 #1”的名称下,通过输入您自己的名称(例如 myscript)进行重命名
在数据下,双击空值并输入此
确保其类型是
REG_EXPAND_SZ
,即扩展字符串"%SystemRoot%\System32\WScript.exe" "C:\Users\me\myFolder\mySub-folder\myFile.vbs" "%1" %*
重启你的机器。你的 vbs 应该会自动运行。
笔记:
如果您想使用 cscript,请确保将 .VBS 添加到 Path 环境变量中,在步骤 2 中输入:
`reg query HKEY_CLASSES_ROOT\Applications\cscript.exe /s`
...而是继续,注意在相关的地方用 cscript 替换 WScript,即此查询:
reg query HKEY_CLASSES_ROOT\Applications\cscript.exe /s
应该产生这样的结果:
(Standard) REG_SZ
"C:\Windows\System32\cscript.exe" "%1" %*
如果您的键和/或值混乱了,您可以随时右键单击混乱的项目并将其删除。但是,如果您想使用终端,您可以随时按照以下步骤操作:http://ss64.com/nt/reg.html
要检查 WScript 是否是启动应用程序之一,请按 ctrl+alt+delete,选择任务管理器,单击启动。您应该会看到列出的 Microsoft Windows Based Script Host。
答案3
开始 > 运行 >gpedit.msc
将打开组策略编辑器,您可以在其中设置在用户登录时运行的脚本。