2012-12-04 195 views
6

我想在PC啓動後啓動我的簡單VBS腳本(Win XP)。我不想把這個腳本放在C:\ Documents and Settings \%UserName%\ Start Menu \ Programs \ StartupPC啓動後啓動VBS腳本

我想在腳本中做到這一點,有可能嗎?

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

是PC加入到域中嗎?如果是這樣,你不能使用網絡策略/登錄腳本嗎? – Andrew

回答

6

您必須將其放入啓動文件夾或從註冊表中運行它。

對於所有用戶,請使用註冊表項HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

對於當前用戶,使用註冊表項HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

+0

問題是如何在啓動時運行vbs腳本而不是從哪裏運行 – K3rnel31

+7

@ K3rnel31那麼,你基本上覆制我的答案,然後downvote我? OP沒有詢問如何啓動一般腳本,而是在啓動時啓動腳本,而不在啓動文件夾中添加快捷方式。我回答了其他可能的選擇。 – aphoria

2

只是一個的會面,大家probalby才知道了。

HKLM是機器上的任何用戶,因爲意味着本地計算機

HKCU僅僅是當前用戶。

+0

問題是如何在啓動時運行vbs腳本不是從哪裏來的 – K3rnel31

-3

您可以通過

WScript C:\somefloder\somefolder2\yourscript.vbs 

火從註冊表或啓動一個vbscipt你可以把這個線的值上

對於所有機器HKLM \ SOFTWARE \微軟\的Windows \ CurrentVersion用戶\ Run中

當前用戶HKCU \ SOFTWARE \微軟\的Windows \ CurrentVersion \ Run中

1

深入

如何在啓動時自動運行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 \應用程序\ WScript的。EXE/s的

如果你沒有看到這一點:

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

然後,你需要做到以下幾點,如果上面是你所看到的,那麼你可以跳過,然後轉到第3步

步驟2

  • 轉到:

    開始

    運行

  • 式中:

    註冊表編輯器

  • 選擇註冊表編輯器按enter(或雙擊註冊表編輯器),並允許 方案,使更改到您的計算機

  • Navigate to:

HKEY_CLASSES_ROOT\Applications\WScript.exe(如果WScript.exe的鍵不存在,用鼠標右鍵單擊應用程序並創建新的密鑰,其重命名爲WScript.exe的)

  • 在右側,那裏是空的空間數值,右鍵單擊 和
  • 選擇新
  • 選擇字符串值
  • 在名在新值#1被突出顯示,通過鍵入 (標準)重命名
  • 根據數據,雙擊空值,然後輸入你上一步中得到

的「%SystemRoot%\ SYSTEM32 \ WScript的價值。exe文件」 「%1」 %*

步驟3

  • 如果沒有註冊表編輯器打開呢,

轉到:

  • 開始
  • 運行

式中:

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 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腳本宿主。
+0

首先,感謝真正的明確答案!我一直跟着你的答案,直到第2步(創建新的)。我收到錯誤「無法創建值:寫入註冊表時出錯」。 ** PS:**我試圖把我的VB文件放在啓動路徑上,但需要我沒有的administor帳戶。任何想法我還能做些什麼來啓動文件? – aaa

+0

您好,您的公司例如我的任何客戶都不會給予員工完全的管理員權限,以便他們可以改變機器的行爲。如果你想繼續這樣做,你將不得不要求該筆記本電腦的所有者許可,或者如果它是你自己的筆記本電腦,那麼你需要改變權限,這是另一個話題 – iOSAndroidWindowsMobileAppsDev

+0

是的,我使用任務調度程序和完成了。 – aaa