首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Windows Server 2003 開機自動運行 BAT 腳本(後台無窗口)

     編輯:程式設計綜合問答

需求

Windows Server 2003 開機後、用戶未登錄時,自動在後台運行某 .bat 腳本,不顯示黑框,掛載為系統服務/進程。

方案對比

方法可行性備註
註冊為 Windows 服務❌ 失敗BAT 非標準服務程序,Service Control Manager 無法直接管理
計劃任務✅ 推薦設置「無論用戶是否登錄都運行」,勾選「使用最高權限」,觸發器選「啟動時」
啟動文件夾/註冊表 Run⚠️ 需登錄僅在用戶登錄後生效
第三方工具✅ 可行如 NSSM、FireDaemon 將任意可執行文件包裝為服務

計劃任務配置步驟

  1. 打開「控制面板」→「計劃任務」→「添加計劃任務」。
  2. 選擇腳本路徑(如 C:\Scripts\startup.bat)。
  3. 執行用戶選 SYSTEM 或管理員帳號,勾選「無論用戶是否登錄都運行」。
  4. 觸發器:選「啟動時」。
  5. 操作:程序填 cmd.exe,參數填 /c "C:\Scripts\startup.bat"。
  6. 完成後右鍵任務 → 「屬性」 → 「條件」/「設置」取消不必要的限制。

隱藏命令行窗口

在 BAT 內部開頭添加:

@echo off
if not "%1"=="hide" (
    start /min cmd /c "%~f0" hide
    exit /b
)
:: 實際業務邏輯...

或使用 VBScript 包裝:

CreateObject("Wscript.Shell").Run "cmd /c C:\Scripts\startup.bat", 0, False

保存為 .vbs,計劃任務直接調用該 .vbs 文件。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved