如何让 VB 脚本在每次 Windows 启动时执行?

如何让 VB 脚本在每次 Windows 启动时执行?

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

  • 选择regeditenter(或双击 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 #1rename输入(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将打开组策略编辑器,您可以在其中设置在用户登录时运行的脚本。

相关内容