我编写了很多东西来管理我公司的计算机。我经常需要在用户的个人启动文件夹中添加快捷方式(没有GPO)。
Windows 8 / 8.1默认情况下没有个人启动文件夹
它的位置是C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\
创建此文件夹很容易,但它需要一个desktop.ini
文件,内容正确,以便本地化名称(否则会显示&#34; Startup&#34;无论是什么式语言)。
什么是&#34;官方&#34;创建此文件夹的方法?
或者在其中添加内容的官方方式是什么?
我更喜欢PowerShell或批处理命令,但无论可靠的意思是好的。
答案 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条目。
所以你必须手动创建它:
[environment]::getfolderpath("StartMenu")
并将\startup
添加到路径HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
(我没有检查这是否是正确的地方。[environment]::getfolderpath("Startup")
必须返回正确的值)更新:我刚刚找到了SHGetKnownFolderPath API,可以根据需要创建所需的文件夹(使用dwFlags)。我不擅长PowerShell,所以我不知道怎么称呼这个。也许有人可以给出更好的答案。