如何使用批处理文件将应用程序固定到开始菜单(Windows 10)

14

我需要将一个可执行文件固定到新的Windows 10开始菜单中(即创建一个磁贴)。

我知道有PowerShell脚本可以完成此工作,但我需要一些指令添加到我们已经用于安装应用程序的现有批处理文件(cmd)的末尾。

通常适用于Windows 8和8.1的脚本根本不起作用。我该如何做这件事?


这里有很多类似的问题(http://stackoverflow.com/search?q=run+a+PowerShell+script+from+a+batch+file)。你应该说明为什么这些解决方案不适用于你的情况,否则问题将被关闭为重复。 - wOxxOm
1
你能给我指一下吗?那些针对Windows 8.1的根本不起作用。 - user5232147
1
请问你能指向一个吗?那些适用于Windows 8的脚本不如适用于Windows 7的脚本好用。正如我所说,我不想要PowerShell脚本,只需要一个普通的命令脚本,如果可行的话。 - user5232147
  1. 如果您将此信息添加到问题中会更好。
  2. 我没有Windows 10,所以无法帮助您,抱歉。
  3. 在批处理文件的末尾添加“powershell -c“一些命令”是否可以?(不要在此处回答,请相应地编辑问题)
- wOxxOm
@user5232147 - 终于我找到了一台Windows 10机器,我能够测试和改进脚本。如果你还需要的话,可以重新下载并重新测试。 - npocmaka
5个回答

27

这是一个微软需要解决的临时解决方案,但它对我有效。

将.bat文件暂时重命名为.exe。然后右键单击文件名。它会给你“固定到开始”选项。将其固定到开始菜单。它不起作用,但有一个打开文件位置的选项。选择那个选项并将名称改回.bat。现在它可以工作了。


问题是如何通过使用CMD文件将现有的EXE文件(而不是批处理文件)添加到新的混合Windows 10菜单中。在控制台上操作非常简单:右键单击EXE并从上下文下拉菜单中选择“添加到开始菜单”。但是找不到以编程方式执行相同操作的方法。 - user5232147

14

在尝试了几乎15种对我无效的不同方法后,Windows 10的工作方式如下:

  1. 前往您的桌面 -> 右键单击 -> 创建新快捷方式

  2. 在快捷方式目标中输入以下文本:

  3.  cmd /c "full path to your batch file" 
    

    它会看起来像这样:

    cmd /c "C:\Users\Jmeter\Desktop\jmeter.bat"
    
  4. 给这个快捷方式命名。

  5. 右键点击该快捷方式->选择固定到任务栏。如果您希望将其固定到开始菜单中,选择固定到开始即可。

奖励:下载一些.png图片->前往此处(https://icoconvert.com/)->转换为Windows图标文件->设置为新图标


6

注意:我在Windows 8上编写和测试了此代码,您在Windows 10上可能会遇到问题。

请检查这个链接。这是一个JScript/bat混合脚本,使用shellapplication对象和invokeverb函数(即模拟右键单击并选择某些特定操作)。现在它与Windows 10兼容。

像这样使用它(您也可以使用快捷方式/.lnk到exe文件):

call pinnerJS.bat "%windir%\system32\cmd.exe" startmenu

1
这是一个非常有用的脚本。我测试过它,在Windows 10上运行得非常好。 - markj
1
现在尝试了Windows 10的更新版本,似乎它不能再处理所有链接了。但是我最近没有进行太多测试,所以这就是我所知道的。 - markj
1
这适用于将EXE文件固定到开始菜单或任务栏,但对于CMD、BAT或LNK文件则无效,至少对于当前的Windows 10是如此。由于你可以右键单击任何EXE文件以将其固定,因此完全没有必要这样做。 - Ross Presser
1
shellapplication?您是指 shell.application 吗? - Peter Mortensen
1
@MarcusWiderberg - 感谢您的留言。我已经在Windows 8上编写/测试了这个程序。由于Windows 10进行了一些更改,目前我还没有投入时间来研究如何使其在Windows 10上无问题地运行。目前我能做的只是在答案中加上一条注释。 - npocmaka
显示剩余2条评论

1
跟随我的原始方法,您将在任务栏中固定.bat文件。百分之百有效。
步骤1:创建您的.bat文件的快捷方式(例如,在桌面上“C:\ Users \ youruser \ Desktop \ yourfile.bat”)。因此,您最终会得到“yourfile.bat-Shortcut.lnk”(您可能看不到扩展名“.lnk”)。
步骤2:右键单击您的快捷方式并将目标字段从:“C:\ Users \ youruser \ Desktop \ yourfile.bat”更改为:explorer“C:\ Users \ youruser \ Desktop \ yourfile.bat”-注意:explorer是explorer.exe应用程序。您还可以写全路径:C:\ Windows \ explorer.exe,以避免混淆。
步骤3:现在右键单击您的快捷方式,现在您可以看到固定到任务栏的选项。
步骤4:右键单击固定的快捷方式,您将看到两个选项:快捷方式本身和取消固定选项。右键单击快捷方式并选择属性。从目标字段中删除“C:\ Windows \ explorer.exe”,仅留下“C:\ Users \ youruser \ Desktop \ yourfile.bat”,然后单击确定。
现在你可以删除桌面上的快捷方式,因为你已经有了任务栏上的独立快捷方式。 如果你想要更改图标,可以进行第四步,但现在点击“更改图标…”按钮,并选择你自定义的图标,从其他exe文件或.ico文件中选择。 就这样!现在你在任务栏上拥有完全功能的批处理文件快捷方式。

这是一个编程网站,问题特别使用了[[tag:batch-file]]标签。因此,很不可能OP需要用户执行交互式右键鼠标操作和手动字符串修改。虽然批处理文件在技术上是可执行文件,但问题还意味着直接固定一个文件,而不是通过批处理文件间接调用它。 - Compo

0

目前,您无法使用免费工具来完成此操作(也许Windows想进入“付费平铺”商业模式)。

目前的一个可能选项是使用Classic Shell


当然可以,但怎么做呢?必须使用操作系统本地的东西,比如一个shell脚本或者控制台批处理。需要能够轻松地包含在安装程序中。 - user5232147

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接