Windows: 在系统启动时运行程序、定时计划任务、定时关机
lesca今天介紹一些讓系統在啟動時,而非登錄時,加載用戶自定義的應用程序或腳本的方法,推薦度從前到后依次遞減。
1. Windows任務計劃(task scheduler)
用戶可以按以下步驟進行操作,建立一個任務計劃:
- 以管理員權限新建一個任務計劃
- 在“任務”選項卡中輸入待執行的命令,去掉“僅在登錄后運行”的選項。該命令將以建立這個計劃任務的用戶的權限運行
- 在任務屬性的“計劃”選項卡-“計劃任務”中選擇“在登錄時”
- 清除“設置”選項卡中的所有選項
- 按“確定”保存,如果提示輸入密碼則輸入用戶密碼
如果要建立定時關機任務,請確保用戶能夠運行at命令,即需要管理員權限。在“任務”選項卡中輸入以下命令:
at 16:30 shutdown -c "System will be halted, save your works!" -s -f -t 500at命令和shutdown將以SYSTEM權限執行。
- 優點:該方法無需其他工具軟件,依靠Windows自身工具即可實現強大的定時功能。
- 缺點:該命令依賴于可用的管理員賬戶及Task Scheduler服務;如果該管理員賬戶被禁用或者Task Scheduler服務被禁用或啟動失敗,則任務將無法運行。
2. 修改注冊表
還可以通過修改注冊表HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices(Once)實現在系統啟動時(而非用戶登錄時)啟動程序。有關其他和自動運行相關的注冊表項請參考下表:
HKCU\Software\Microsoft\Windows\CurrentVersion\Run- 優點:程序直接以SYSTEM權限運行;可以同時支持應用程序和系統服務;無需額外工具
- 缺點:依賴于系統版本,不同的Windows操作系統對此有不同限制或實現方式不同
3. nssm實用程序
nssm實用程序可以讓待運行的程序以Windows服務方式加載,這樣,每次系統啟動時就會通過啟動服務來加載程序。nssm是開源軟件,普通用戶可以不必擔心授權問題,公司或組織也可以以非商業用途的目的使用。接下來,我們首先獲得nssm實用程序:
- 訪問http://nssm.cc/,下載最新版本的nssm實用程序
- 解壓nssm,將nssm-2.14\win32\nssm.exe復制到%windir%\system32目錄下
- 打開“命令提示符”窗口,輸入nssm查看幫助:
然后新建一個腳本,如:
@echo off at /delete /yes at 16:30 shutdown -s -f -t 500 pause保存為D:\services\load.bat,將該腳本安裝為服務:
nssm install loadService D:\services\load.bat- 優點:可以將非標準的Windows服務、腳本、應用程序包裝成標準的Windows服務;開源軟件;對個版本Windows均支持
- 缺點:需要安裝、配置,需一定時間上手
4. FireDaemon解決方案
- 優點:FireDaemon是一個企業級的專業解決方案,可以將EXE, DLL, Perl, Python, Java, Batch, Powershell, Ruby或其他應用程序轉換為Windows服務;可通過瀏覽器訪問FireDaemon;可對CPU及內存進行實時監視;…
- 缺點:該軟件需要付費購買授權(目前每個授權售價$49),適合企業
5. sc命令
sc命令是Windows原生的服務控制命令,通過它可以方便地添加、刪除標準的Windows服務程序:
# 添加服務 sc create ServiceName binpath= "D:\services\xxx.exe" # 移除服務 sc delete ServiceName/!\請注意:
- binpath參數后面必須有一個空格
- 添加完服務后,需要自行配置一下,如將啟動類型設置為“自動”
- 用戶可以通過services.msc查看、管理已注冊的服務
優缺點:
- 優點:Windows原生命令;功能較多
- 缺點:要求被加載的應用程序是標準的Windows服務;普通cmd腳本會報錯;語法復雜不易上手;新增服務后仍需手動配置;
本文出自 Lesca技術宅,轉載時請注明出處及相應鏈接。
本文永久鏈接:?http://lesca.me/archives/start-program-on-windows-startup.html
轉載于:https://www.cnblogs.com/wang1204/p/6617509.html
總結
以上是生活随笔為你收集整理的Windows: 在系统启动时运行程序、定时计划任务、定时关机的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring之BeanFactory
- 下一篇: 64位系统安装ODBC驱动的方法