将程序固定到任务栏 Windows 10 的命令行代码?

Eri*_*c R 13 taskbar shortcuts command-line deployment windows-10

我正在尝试重新映像几台计算机,并且正在制作一个批处理文件来运行基本命令。是否有命令行代码可以让我将程序固定到任务栏?例如,Internet Explorer。

小智 9

意见- 微软明确不希望为任何人提供一种方法来为用户添加/删除 pin 项目。他们担心第三方应用程序会随意固定和取消固定项目,以此来影响用户将运行哪些程序。因此,他们在最新版本的 Windows 10 上使这变得非常困难。

方法 1 - 有一种使用 VBScript 编写脚本的方法,其中涉及枚举 FolderItem.Verbs 并激活称为“固定到任务栏”的那个。但是,Microsoft 从 Verbs 集合中删除了该项目,同时将其保留在 UI 上以供使用鼠标手动选择。有许多网站准确解释了如何使用 VB 脚本执行此操作,但此方法不适用于最新版本的 Windows 10。

方法 2 - 可能是由于企业社区的强烈反对,微软现在提供了一种方法,通过使用组策略来创建一组默认的项目来取消固定或固定新用户帐户,但这似乎对一个人没有用 -关闭自定义固定。在 Internet 上搜索以下术语将获得以下信息:组策略任务栏引脚。

方法 3 - 此处提供的另一个答案,只需将链接文件复制到 User Pinned\Taskbar 文件夹,在当前版本的 Windows 10 中将不起作用。它可能在某些时候起作用,但这不再起作用。

方法 4 - 有一个名为 SYSPIN 的第三方实用程序。这是一个显然有效的独立 EXE。该公司或网站称为 TECHNOSYS。


Nar*_*ard 6

您需要创建一个快捷方式,然后将该快捷方式移动到用户固定文件夹中。

UserPinned 文件夹在这里: %AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar

在这里,我们将创建一个记事本快捷方式 (notepad.lnk) 并将其移动到用户固定文件夹。

对于您的应用程序,唯一需要更改的是:

sLinkFile = 快捷方式的名称(通常是 application_Name.lnk)

oLink.TargetPath = 根应用程序的路径 (c:\program files\program\program.exe)

@echo off
echo Set oWS = WScript.CreateObject("WScript.Shell") > C:\temp8\CreateShortcut.vbs
echo sLinkFile = "C:\temp8\notepad.lnk" >> C:\temp8\CreateShortcut.vbs
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> C:\temp8\CreateShortcut.vbs
echo oLink.TargetPath = "C:\Windows\notepad.exe" >> C:\temp8\CreateShortcut.vbs
echo oLink.Save >> C:\temp8\CreateShortcut.vbs
cscript C:\temp8\CreateShortcut.vbs
del C:\temp8\CreateShortcut.vbs
copy "C:\temp8\notepad.lnk" "%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\notepad.lnk"
pause
Run Code Online (Sandbox Code Playgroud)

您可以删除pause,我只是将其用于错误检查。将上面的代码复制到您的 bat 文件中。

编辑:深入解释:

本质上,>>>符号将数据附加到文档中。在这种情况下,我们正在创建一个单独的 .vbs 文件CreateShortcut.vbs,并将 > 或 >> 之前的每个命令逐行放入该文件中。在批处理结束时,我们运行cscript CreateShort.vbs它来执行我们刚刚构建的文件。

@echo off

REM Create a new obj for shell script and write as line 1 in new file call createshortcut.vbs
    echo Set oWS = WScript.CreateObject("WScript.Shell") > C:\temp8\CreateShortcut.vbs

REM Name the shortcut whatever you want. It will end in .lnk and then write that command as the second line in the createshortcut.vbs file
    echo sLinkFile = "C:\temp8\notepad.lnk" >> C:\temp8\CreateShortcut.vbs

REM takes the shortcut file and runs the builtin script "create Shortcut to generate the .lnk file and adds as the third line in the createshortcut.vbs file
    echo Set oLink = oWS.CreateShortcut(sLinkFile) >> C:\temp8\CreateShortcut.vbs

REM this is physical path of the EXE or application you are making a shortcut for, then adds that path as the 4th line in the createshortcut.vbs file
    echo oLink.TargetPath = "C:\Windows\notepad.exe" >> C:\temp8\CreateShortcut.vbs

REM saves everything and writes as the 5th line in the vbs file
    echo oLink.Save >> C:\temp8\CreateShortcut.vbs

REM executes the createshortcut.vbs file that we built line by line above
    cscript C:\temp8\CreateShortcut.vbs

REM Deletes the createshortcut.vbs script that we made after it ran so you can use this block of code in the same batch more than once
    del C:\temp8\CreateShortcut.vbs

REM Copies the newly created shortcut file notepad.lnk to the directory that windows looks at to generate what icons/applications appear on the taskbar
    copy "C:\temp8\notepad.lnk" "%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\notepad.lnk"
Run Code Online (Sandbox Code Playgroud)

  • 终端服务器 2016:在 ...\User Pinned\TaskBar 文件夹中,我看到了也显示在任务栏中的快捷方式。但是从该文件夹添加或删除快捷方式不会影响任务栏中的图标(即使在登录/注销用户会话之后) (5认同)