如何以编程方式更改.bat文件的图标?

问题描述 投票:0回答:11

我想知道如何将

.bat
文件的图标实际设置为任意图标。 我将如何以编程方式进行此操作,独立于我可能使用的语言。

windows icons batch-file
11个回答
50
投票

假设您指的是 MS-DOS 批处理文件:因为它只是一个具有特殊扩展名的文本文件,所以

.bat
文件不存储自己的图标。

但是,您可以以

.lnk
格式创建存储图标的快捷方式。


19
投票

您可以创建一个快捷方式,然后右键单击它 - >属性 - >更改图标,然后浏览您想要的图标。 希望这有帮助。

要以编程方式设置快捷方式的图标,请使用

SetIconLocation
参阅本文:

如何更改现有快捷方式的图标?:

https://devblogs.microsoft.com/scripting/how-can-i-change-the-icon-for-an-existing-shortcut/

Const DESKTOP = &H10&
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(DESKTOP)
Set objFolderItem = objFolder.ParseName("Test Shortcut.lnk")
Set objShortcut = objFolderItem.GetLink
objShortcut.SetIconLocation "C:\Windows\System32\SHELL32.dll", 13
objShortcut.Save

12
投票

您可以使用

这里
.bat
.exe转换器。

这会将您的批处理文件转换为可执行文件,然后您可以为转换后的文件设置图标。


10
投票

批处理文件的 Shell(资源管理器)显示的图标由注册表项确定

HKCR\batfile\DefaultIcon

在我的电脑上是

%SystemRoot%\System32\imageres.dll,-68

您可以将其设置为您喜欢的任何图标。

但这将更改所有批处理文件的图标(除非它们具有扩展名

.cmd
)。


5
投票

实现这一目标的方法之一是:

  1. 创建可执行Jar文件
  2. 创建一个批处理文件来运行上述 jar 并启动桌面 java 应用程序。
  3. 使用 Batch2Exe 转换器并将批处理文件转换为 Exe。
  4. 在上述转换过程中,您可以将图标更改为您选择的图标。(必须是有效的.ico文件)
  5. 将上述exe的快捷方式放在桌面上。

现在您的 Java 程序可以像任何其他 MSWindows 应用程序一样以一种奇特的方式打开。! :)


5
投票

如果您想要批处理文件的图标, 首先为批处理文件创建一个链接,如下

右键单击您想要链接的窗口文件夹 选择新建 -> 快捷方式,然后指定 .bat 文件所在的位置。

这将创建您想要的 .lnk 文件。 然后您可以为链接指定一个图标, 在其属性页面上。

这里有一些不错的图标:

%SystemRoot%\System32\SHELL32.dll

Windows 10 上的注意事项: %SystemRoot% == C:\Windows\

更多图标在这里: C:\Windows\System32\imageres.dll

您可能还想要第一行 在批处理文件中为“cd ..” 如果您将批处理文件存储在 bat 子目录中 比您的快捷方式应该执行的位置低一级。


2
投票

我假设您正在谈论 Windows,对吗?我不相信你可以直接更改批处理文件的图标。图标嵌入在 .EXE 和 .DLL 文件中,或由 .LNK 文件指向。

您可以尝试更改文件关联,但该方法可能会根据您使用的 Windows 版本而有所不同。 XP 中的注册表会出现此问题,但 Vista 中我不确定。


2
投票

尝试 BatToExe 转换器。它将您的批处理文件转换为可执行文件,并允许您为其设置图标。


1
投票

尝试使用 shortcutjs.bat 创建快捷方式:

call shortcutjs.bat -linkfile mybat3.lnk -target "%cd%\Ascii2All.bat" -iconlocation "%SystemRoot%\System32\SHELL32.dll,77"

您可以使用 -iconlocation 开关指向图标。


0
投票

您可以使用 BAT 到 EXE 转换器之类的程序,例如:link

enter image description here

此程序允许您添加自定义图标。


-2
投票

我建议使用 BAT 到 EXE 转换器来满足您的需求

© www.soinside.com 2019 - 2024. All rights reserved.