创建启动文件夹 - Windows

时间:2014-11-22 15:57:31

标签: windows powershell startmenu

我编写了很多东西来管理我公司的计算机。我经常需要在用户的个人启动文件夹中添加快捷方式(没有GPO)。

Windows 8 / 8.1默认情况下没有个人启动文件夹 它的位置是C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\

创建此文件夹很容易,但它需要一个desktop.ini文件,内容正确,以便本地化名称(否则会显示&#34; Startup&#34;无论是什么式语言)。

什么是&#34;官方&#34;创建此文件夹的方法?
或者在其中添加内容的官方方式是什么? 我更喜欢PowerShell或批处理命令,但无论可靠的意思是好的。

2 个答案:

答案 0 :(得分:4)

我猜你可以对这个特殊文件夹的ComObject做点什么:

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

顺便说一句,如果我在Win 8.1系统的运行框中输入shell:startup Win + R ),它会指引我到我的个人启动文件夹(C:\Users\User\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup)。

答案 1 :(得分:2)

据我所知,没有可靠的方法可以做到这一点。

您可以使用[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")必须返回正确的值)
  5. 更新:我刚刚找到了SHGetKnownFolderPath API,可以根据需要创建所需的文件夹(使用dwFlags)。我不擅长PowerShell,所以我不知道怎么称呼这个。也许有人可以给出更好的答案。

相关问题