我有一个包含 10 个文件夹的文件夹,我想将每个文件夹更改为不同的图标。每个图标都已在另一个文件夹中制作。(每个文件夹将具有不同的图标)
我该如何自动化或批量处理这项任务,以免我不得不单独执行。因为我将要处理多套图标。
答案1
虽然已经晚了三年,但我们还是开始了
您可以通过以下方式手动批量更改文件夹的图标
- 对文件夹应用只读属性。
- 对文件夹内的desktop.ini 文件应用只读属性。
- Desktop.ini 应该正确引用我们想要的图标。
步骤 1:激活 POWERSHELL 并创建 POWERSHELL 脚本
使用“以管理员身份运行”选项启动 Windows PowerShell。只有计算机上的管理员组成员才能更改执行策略。
输入以下命令启用运行未签名的脚本:
set-executionpolicy remotesigned
在记事本中复制此代码并将文件保存为 script.ps1,保存在目录 D:\icons\ 中
<# copy desktop.ini recursively #>
Get-ChildItem -Recurse -Directory|
foreach { copy "D:\Icons\desktop.ini" $_.FullName}
<# set folder attribute readonly recursively #>
Get-ChildItem -Recurse -Directory|
foreach {$_.Attributes = 'readonly'}
<# set attribute readonly for desktop.ini recursively #>
Get-ChildItem -Recurse -include *.ini|
foreach {$_.Attributes = 'readonly,hidden'}
<# set attribute hidden for folder.ico recursively #>
Get-ChildItem -Recurse -include *.ico|
foreach {$_.Attributes = 'hidden'}
在记事本中复制此代码并将文件保存为目录 D:\icons\ 中的 enable_icons.bat
@ECHO OFF
PowerShell.exe -Command "D:\icons\script.ps1"
PAUSE
步骤 2:创建 DESKTOP.INI 文件
在记事本中复制此代码并将文件保存为目录 D:\icons\ 中的 DESKTOP.INI
[.ShellClassInfo]
IconResource=folder.ico,0
[ViewState]
Mode=
Vid=
FolderType=Generic
现在在目录 D:\icons\ 中我们应该有 3 个文件
- 桌面配置文件
- 启用图标
- 脚本.ps1
步骤 3:发送到文件夹
将 enable_icons.bat 复制到 sendto 文件夹
使用其中任何一个来访问它
c:\users\[username]\AppData\Roaming\Microsoft\Windows\SendTo
或者
%AppData%\Microsoft\Windows\SendTo
最后一步:如何申请
- 在每个文件夹中,放置您的图标并将其重命名为
folder.ico
- 选择 [父文件夹] 中的 [要更改其图标的文件夹] > 右键单击 > 发送到 > 启用图标
如果你已经拥有仅有的 一每个文件夹内的图标文件使用此批处理脚本对它们全部重命名。
在记事本中复制此代码并将文件另存为 rename_icons.bat,放在与 [父文件夹]
@echo off
setlocal enabledelayedexpansion
FOR /r %%A IN (*.ico) DO (
echo.
echo "%%A"
REN "%%~fA" "folder.ico")
pause
现在将[父文件夹]拖到rename_icons.bat
。 。 。 。 非常重要的提示:
这是非常强大的,它可能会影响邻近的文件夹
(换句话说,它工作得很好,但有些更聪明的人可以修复它)
暂时确保 [父文件夹] 是目录中唯一的文件夹
答案2
您要应用到文件夹的实际图标在哪里?
如果它们不在.dll
文件中,您可以使用 30 天免费试用版创建一个艾科外汇或者一些类似的软件。
每个文件夹中都有一个名为 的隐藏文件desktop.ini
。它们的文件系统属性为 S(系统)、A(准备存档的文件)以及 H(隐藏)。您可以通过在资源管理器窗口中添加“属性”列来查看这些属性。
标准黄色文件夹中的文件desktop.ini
如下所示:
[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21770
IconResource=%SystemRoot%\system32\imageres.dll,-112
IconFile=%SystemRoot%\system32\shell32.dll
IconIndex=-235
在desktop.ini
您 [已] 自定义的文件夹中的文件中,重要的行是,它指向您创建的文件IconFile
的位置,以及指向文件内特定彩色图标的行。icon.dll
IconIndex
您将相同的文件复制到每个要自定义的文件夹,但值IconIndex
会有所不同,具体取决于颜色。确保它们具有 HSA 属性。