Windows 如何以编程方式更改.bat文件的图标?
我想知道如何将Windows 如何以编程方式更改.bat文件的图标?,windows,icons,batch-file,Windows,Icons,Batch File,我想知道如何将.bat文件的图标实际设置为任意图标。 我将如何以编程的方式独立于我可能使用的语言来实现这一点。我假设您正在谈论Windows,对吗?我不相信你可以直接更改批处理文件的图标。图标嵌入在.EXE和.DLL文件中,或由.LNK文件指向 您可以尝试更改文件关联,但这种方法可能因您使用的Windows版本而异。XP中的注册表有问题,但我对Vista不太清楚。假设您指的是MS-DOS批处理文件:因为它只是一个带有特殊扩展名的文本文件,.bat文件不存储自己的图标 但是,您可以以.lnk格式创
.bat
文件的图标实际设置为任意图标。
我将如何以编程的方式独立于我可能使用的语言来实现这一点。我假设您正在谈论Windows,对吗?我不相信你可以直接更改批处理文件的图标。图标嵌入在.EXE和.DLL文件中,或由.LNK文件指向
您可以尝试更改文件关联,但这种方法可能因您使用的Windows版本而异。XP中的注册表有问题,但我对Vista不太清楚。假设您指的是MS-DOS批处理文件:因为它只是一个带有特殊扩展名的文本文件,
.bat
文件不存储自己的图标
但是,您可以以
.lnk
格式创建一个快捷方式,用于存储图标。Shell(资源管理器)为批处理文件显示的图标由注册表项决定
HKCR\batfile\DefaultIcon
在我的电脑上是
%SystemRoot%\System32\imageres.dll,-68
您可以将其设置为您喜欢的任何图标
但是,这将更改所有批处理文件的图标(除非它们具有扩展名
.cmd
)。实现这一点的方法之一是:
现在,您的java程序可以像任何其他MSWindows应用程序一样以一种奇特的方式打开。!:) 您可以从这里使用
Bat-to-Exe
转换器:
这会将批处理文件转换为可执行文件,然后您可以设置转换文件的图标。您只需创建一个快捷方式,然后右键单击它->属性->更改图标,然后浏览所需的图标即可。 希望这有帮助 要以编程方式设置快捷方式的图标,请参阅本文使用
SetIconLocation
:
如何更改现有快捷方式的图标?:
试试BatToExe转换器。它会将批处理文件转换为可执行文件,并允许您为其设置图标。如果您需要批处理文件的图标, 首先为批处理文件创建一个链接,如下所示 在需要链接的窗口文件夹中单击鼠标右键 选择新建->快捷方式,然后指定.bat文件的位置 这将创建所需的.lnk文件。 然后您可以为链接指定一个图标, 在其属性页上 这里有一些不错的图标: %SystemRoot%\System32\SHELL32.dll Windows 10上的注意事项: %SystemRoot%==C:\Windows\ 更多图标如下: C:\Windows\System32\imageres.dll 另外,您可能需要第一行 批处理文件中的“cd…” 如果将批处理文件保存在bat子目录中
下面的一个级别是您的快捷方式应该执行的位置。我建议您根据自己的愿望使用BAT-to-EXE转换器。尝试创建快捷方式:
call shortcutjs.bat -linkfile mybat3.lnk -target "%cd%\Ascii2All.bat" -iconlocation "%SystemRoot%\System32\SHELL32.dll,77"
您可以使用-iconlocation开关指向图标。我猜您错过了那里的“编程方式”。我猜您错过了那里的“编程方式”。它还允许使用“不可见应用程序”抑制cmd窗口选项。该链接将我引向一个网站,在那里我必须允许coinhive矿工下载一些东西。@Akerus试试这个-@GabrielH Genius使用wayback机器下载文件,它工作得非常好!请看一看。此答案太短,不能为您的建议提供动力,也没有显示任何代码或资源来实际获得解决方案。这不会以编程方式更改它,并且.lnk无法移动到其他文件夹
call shortcutjs.bat -linkfile mybat3.lnk -target "%cd%\Ascii2All.bat" -iconlocation "%SystemRoot%\System32\SHELL32.dll,77"