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

发布于 2024-07-04 07:11:58 字数 81 浏览 8 评论 0原文

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

I'd like to know what's the way to actually set the icon of a .bat file to an arbitrary icon.
How would I go about doing that programmatically, independently of the language I may be using.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(11

装纯掩盖桑 2024-07-11 07:11:58

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

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

I'll assume you are talking about Windows, right? I don't believe you can change the icon of a batch file directly. Icons are embedded in .EXE and .DLL files, or pointed to by .LNK files.

You could try to change the file association, but that approach may vary based on the version of Windows you are using. This is down with the registry in XP, but I'm not sure about Vista.

扛刀软妹 2024-07-11 07:11:58

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

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

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

这里提供了一些不错的图标:

%SystemRoot%\System32\SHELL32.dll

对于 Windows 10 上的我来说:
%SystemRoot% == C:\Windows\

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

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

If you want an icon for a batch file,
first create a link for the batch file as follows

Right click in window folder where you want the link
select New -> Shortcut, then specify where the .bat file is.

This creates the .lnk file you wanted.
Then you can specify an icon for the link,
on its properties page.

Some nice icons are available here:

%SystemRoot%\System32\SHELL32.dll

Note For me on Windows 10:
%SystemRoot% == C:\Windows\

More Icons are here:
C:\Windows\System32\imageres.dll

Also you might want to have the first line
in the batch file to be "cd .."
if you stash your batch files in a bat subdirectory
one level below where your shortcuts, are supposed to execute.

陈年往事 2024-07-11 07:11:58

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

i recommand to use BAT to EXE converter for your desires

dawn曙光 2024-07-11 07:11:58

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

在此处输入图像描述< /a>

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

You may use a program like BAT to EXE converter for example that one: link

enter image description here

This program permits you to add your custom icon.

GRAY°灰色天空 2024-07-11 07:11:58

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

Try BatToExe converter. It will convert your batch file to an executable, and allow you to set an icon for it.

旧人九事 2024-07-11 07:11:58

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

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

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

try with shortcutjs.bat to create a shortcut:

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

you can use the -iconlocation switch to point to a icon .

[旋木] 2024-07-11 07:11:58

实现此目的的方法之一是:

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

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

One of the way you can achieve this is:

  1. Create an executable Jar file
  2. Create a batch file to run the above jar and launch the desktop java application.
  3. Use Batch2Exe converter and covert to batch file to Exe.
  4. During above conversion, you can change the icon to that of your choice.(must of valid .ico file)
  5. Place the short cut for the above exe on desktop.

Now your java program can be opened in a fancy way just like any other MSWindows apps.! :)

守护在此方 2024-07-11 07:11:58

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

HKCR\batfile\DefaultIcon

,在我的计算机上,

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

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

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

The icon displayed by the Shell (Explorer) for batch files is determined by the registry key

HKCR\batfile\DefaultIcon

which, on my computer is

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

You can set this to any icon you like.

This will however change the icons of all batch files (unless they have the extension .cmd).

奈何桥上唱咆哮 2024-07-11 07:11:58

您可以从这里使用 Bat 到 Exe 转换器:

https://web.archive.org/web/20190304134631/http://www.f2ko.de/en/b2e.php

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

You could use a Bat to Exe converter from here:

https://web.archive.org/web/20190304134631/http://www.f2ko.de/en/b2e.php

This will convert your batch file to an executable, then you can set the icon for the converted file.

铜锣湾横着走 2024-07-11 07:11:58

假设您指的是 MS-DOS 批处理文件:因为它只是一个具有特殊扩展名的文本文件,所以 .bat 文件不存储自己的图标。

但是,您可以创建存储图标的 .lnk 格式的快捷方式。

Assuming you're referring to MS-DOS batch files: as it is simply a text file with a special extension, a .bat file doesn't store an icon of its own.

You can, however, create a shortcut in the .lnk format that stores an icon.

ㄖ落Θ余辉 2024-07-11 07:11:58

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

要以编程方式设置快捷方式的图标,请使用 SetIconLocation 参阅这篇文章:

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

https://devblogs.microsoft.com/scripting/how-can-i-change-the-现有快捷方式的图标/

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

You can just create a shortcut and then right click on it -> properties -> change icon, and just browse for your desired icon.
Hope this help.

To set an icon of a shortcut programmatically, see this article using SetIconLocation:

How Can I Change the Icon for an Existing Shortcut?:

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文