當我在Windows 8.1 和Windows 10 中使用預設使用者的啟動資料夾時,我注意到了一些事情:出於某種原因,在我安裝的所有Windows 10 中,預設使用者的啟動資料夾不存在於應有的位置,C:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
,而在 Windows 8.1 中它存在。
我在網路上看到它顯然是C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
在Win7中替換為啟動的,但是我在Win8.1中有這個路徑,但在Win10中沒有。 Win10上到程式資料夾,然後啟動不存在。
如果我手動建立 Startup 資料夾C:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\
並在其中存放一些內容,作業系統是否會在啟動時運行它?
因為在這種情況下,我無法使用ProgramData中的Startup資料夾,因為.BAT檔案在使用後會自動刪除,但它需要在每個新使用者第一次登入時執行。透過將其放入C:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
,它會在使用者設定檔建立期間簡單地複製到使用者自己的啟動資料夾,運行,然後刪除自身。
如果手動建立啟動資料夾不起作用,有沒有簡單的方法可以完成我需要做的事情?我發現的唯一其他方法是使用 IF 語句啟動批次檔來搜尋批次檔的結果是否存在(這是一個註冊表項),如果存在則不運行,但這意味著每次使用者登入後,批次文件將啟動,這並不理想。
先致謝!
答案1
儘管預設情況下它不存在,但C:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
如果您手動建立它,則它是有效的路徑。
放置在此處的檔案將在其他使用者首次登入時複製到其 StartUp 資料夾中。
對於您的自刪除 .bat 文件,這似乎是您的最佳選擇。我今天在 Windows 10 Enterprise 21H2 上親自測試了它。
相反,public
資料夾的相同啟動才不是工作,即C:\Users\Public\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
。
相反,正如提到的有用評論C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
在 Windows 10 及更高版本中提供。除了在所有使用者之間同步之外,此資料夾還需要管理員權限才能修改。
如果您選擇此選項,您可以向腳本新增檢查以查看它是否事先為使用者執行,例如,您可以在使用者的 AppData 中建立一個隱藏文件,然後在執行腳本之前檢查它是否存在。
這與您的特定用例並不真正相關,但任務管理器啟動清單現在也存在,這個答案記錄如何透過在註冊表中新增字串值來自行添加程式HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
。
按照相同的邏輯,您也可以將其新增到預設使用者註冊表中HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Run
。