簡體   English   中英

創建啟動文件夾 - Windows

[英]Create startup folder - Windows

我編寫很多東西來管理我公司的計算機。 我經常需要在用戶的個人啟動文件夾中添加快捷方式(沒有GPO)。

Windows 8 / 8.1默認情況下沒有個人啟動文件夾。
它的位置是C:\\Users\\<username>\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\

創建此文件夾很容易,但它需要一個desktop.ini文件,其中包含正確的內容,以便本地化名稱(否則無論語言如何都顯示為“Startup”)。

創建此文件夾的“官方”方式是什么?
或者在其中添加內容的官方方式是什么?
我更喜歡PowerShell或批處理命令,但無論可靠的意思是什么都可以。

我猜你可以用這個特殊文件夾的ComObject做一些事情:

$startup = (New-Object -ComObject Shell.Application).NameSpace(0x07)

順便說一下,如果我在Win 8.1系統上的運行框( Win + R )中輸入shell:startup ,它會將我引導到我的個人啟動文件夾( C:\\Users\\ User \\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup )。

據我所知,沒有可靠的方法來做到這一點。

您可以使用[environment]::getfolderpath("Startup")獲取路徑,但如果文件夾已創建,則返回的字符串為空。 我不知道任何API條目來創建它。

所以你必須手動創建它:

  1. 檢查前一個命令是否返回任何內容(如果是,只需創建快捷方式)
  2. 創建自己的啟動文件夾。 使用[environment]::getfolderpath("StartMenu")並將\\startup添加到路徑中
  3. 然后創建desktop.ini文件並自行填充
  4. 並更新注冊表HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders (我沒有檢查這是否是正確的位置。 [environment]::getfolderpath("Startup")必須返回正確的值)

更新:我剛剛找到了SHGetKnownFolderPath API,它允許在需要時創建所需的文件夾(使用dwFlags)。 我不擅長PowerShell,所以我不知道怎么稱呼這個。 也許有人可以給出更好的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM