9

我想在 PC 启动 (Win XP) 后启动我的简单 VBS 脚本。我不想把这个脚本放在 C:\Documents and Settings\%UserName%\Start Menu\Programs\Startup

我想用脚本来做,有可能吗?

Script:<br>
Dim oShell<br>
Set oShell = WScript.CreateObject ("WScript.Shell")<br>
oShell.run "notepad.exe c:\text.txt"
4

6 回答 6

7

您要么必须将它放在 Startup 文件夹中,要么从注册表中运行它。

对于所有用户,请使用注册表项HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

对于当前用户,使用注册表项HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

于 2012-12-04T15:33:55.717 回答
5

深入

如何自动化 VBScripts 在启动时运行。

步骤1

  • 单击Start -> Run -> cmd或单击search并键入cmd
  • 按回车
  • 输入assoc .vbs命令提示符应该打印哪个.vbs=VBSFile
  • 输入ftype VBSFile命令提示符

应该打印:

vbsfile="%SystemRoot%\System32\WScript.exe" "%1" %*

所以,现在您知道您的 vbscript 文件默认使用 WScript 打开。

  • 在命令提示符中,键入:

    reg 查询 HKEY_CLASSES_ROOT\Applications\WScript.exe /s

如果你没有看到这个:

HKEY_CLASSES_ROOT\Applications\WScript.exe
    (Standard)    REG_SZ    "%SystemRoot%\System32\WScript.exe" "%1" %*

然后您需要执行以下操作,如果您看到以上内容,则可以跳过并转到第 3 步

第2步

  • 去:

    开始

  • 输入:

    注册表编辑器

  • 选择 regedit 按下enter(或双击 regedit)并允许程序对您的计算机进行更改

  • 导航:

HKEY_CLASSES_ROOT\Applications\WScript.exe(如果 WScript.exe 键不存在,右键单击 Applications 并创建新键,将其重命名为 WScript.exe)

  • 在右边的空白处,有值的地方,右键单击并
  • 选择新的
  • 选择字符串值
  • 在突出显示新值 #1 的名称下,通过键入(标准)重命名
  • 在数据下,双击空值并输入您从上一步获得的值

"%SystemRoot%\System32\WScript.exe" "%1" %*

第 3 步

  • 如果您没有打开注册表,

去:

  • 开始

输入:

regedit

选择应用程序,按 Enter 并允许程序对您的计算机进行更改

  • 否则,如果 regedit 已打开,则:
  • 导航:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

  • 右键单击运行文件夹
  • 在右边的空白处,有值的地方,右键单击并选择新建
  • 选择可扩展字符串值
  • 在突出显示新值 #1 的名称下,通过键入您自己的名称重命名,例如 myscript
  • 在数据下,双击空值并输入
  • 确保其类型为 REG_EXPAND_SZ,即扩展字符串
"%SystemRoot%\System32\WScript.exe" "C:\Users\me\myFolder\mySub-folder\myFile.vbs" "%1" %*
  • 重新启动您的机器。您的 vbs 应该会自动运行

笔记:

  • 确保将 .VBS 添加到 Path 环境变量中
  • 如果您想改用 cscript,请在​​第 2 步中输入:

    reg 查询 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。
于 2016-11-16T14:09:24.660 回答
1

只是一个约会,每个人都可能已经知道了。

HKLM 适用于机器上的任何用户,因为意味着本地机器

HKCU 仅适用于当前用户。

于 2012-12-04T21:09:34.437 回答
0

简单的方法 :

制作一个bat文件

WScript.exe "Path\to\your\script.vbs"

从 gpedit.msc 将其添加到启动

于 2020-06-15T12:53:34.137 回答
0

将此代码添加到 vbs 脚本的开头将 myKey 的结尾更改为您要调用的注册表项

Set WshShell = CreateObject("WScript.Shell")
myKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\MyVbsScript"
WshShell.RegWrite myKey,WScript.ScriptFullName,"REG_SZ"

于 2020-05-08T19:07:06.560 回答
-3

您可以通过以下方式从注册表或启动中触发 vbscipt

WScript C:\somefloder\somefolder2\yourscript.vbs

你可以把这条线放在一个值上

对于机器上的所有用户 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

对于当前用户 HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

于 2014-03-12T11:40:42.450 回答