创建启动文件夹 - 窗口



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

默认情况下,Windows 8/8.1 没有个人启动文件夹。
它的位置是C:Users<username>AppDataRoamingMicrosoftWindowsStart Menu

创建此文件夹很容易,但它需要一个具有正确内容的desktop.ini文件才能本地化名称(否则无论语言如何,它都会显示为"Startup")。

创建此文件夹的"官方"方法是什么?
或者添加内容的官方方法是什么?
我更喜欢PowerShell或批处理命令,但无论哪种可靠的方法都可以。

我想

你可以用这个特殊文件夹的ComObject做一些事情:

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

顺便说一句,如果我在 Win 8.1 系统上的运行框 (Win+R) 中输入shell:startup,它会将我定向到我的个人启动文件夹 ( C:UsersUserAppDataRoamingMicrosoftWindowsStart MenuProgramsStartup )。

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

您可以使用 [environment]::getfolderpath("Startup") 获取路径,但如果文件夹已创建,则返回的字符串为空。而且我不知道任何 API 条目来创建它。

所以你必须手动创建它:

  1. 检查前一个命令是否返回任何内容(如果是,只需创建快捷方式)
  2. 为自己创建启动文件夹。使用[environment]::getfolderpath("StartMenu")并向路径添加startup
  3. 然后创建桌面.ini文件并自行填充
  4. 并更新注册表HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders(我没有检查这是否是正确的地方。 [environment]::getfolderpath("Startup")必须返回正确的值)

更新:我刚刚找到了SHGetKnownFolderPath API,如果需要,它允许创建所需的文件夹(使用dwFlags)。我不擅长PowerShell,所以我不知道如何称呼它。也许有人可以给出更好的答案。

相关内容

  • 没有找到相关文章

最新更新