本文目录导读:

可以的,Windows 系统通过修改文件夹内的 desktop.ini 文件并关联一个图标文件(.ico),可以实现自定义文件夹图标。
下面提供两个实用脚本(一个用于 Windows 批处理,一个用于 PowerShell),可以帮助你批量修改指定文件夹的图标。
准备工作
在运行脚本前,你需要:
- 一个图标文件(.ico):准备好你想要设置的图标,
C:\MyIcons\myicon.ico。 - 目标文件夹:确定你要修改哪些文件夹(某个目录下的所有子文件夹)。
脚本 1:Windows 批处理脚本 (.bat)
这个脚本适合简单、快速地修改当前目录下所有文件夹的图标。
步骤:
- 将下面的代码复制到记事本中。
- 修改
iconPath变量为你的.ico文件路径。 - 将文件保存为
set_folder_icon.bat,编码选择 ANSI(否则中文可能乱码)。 - 将
set_folder_icon.bat放到你要修改图标的父文件夹中,双击运行。
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
:: 修改这里!设置为你的 .ico 文件路径
set "iconPath=C:\MyIcons\myicon.ico"
:: 注意:路径中不要有空格,如果有空格可以用引号,但下面的命令要相应调整
if not exist "%iconPath%" (
echo 图标文件不存在:%iconPath%
pause
exit /b
)
echo 正在批量修改当前目录下所有文件夹的图标...
echo.
for /d %%i in (*) do (
if not "%%i"=="." (
echo 处理文件夹:%%i
:: 1. 设置文件夹属性为系统文件夹(以便显示自定义图标)
attrib +s "%%i"
:: 2. 创建或覆盖 desktop.ini 文件
(
echo [.ShellClassInfo]
echo IconResource=%iconPath%,0
echo IconFile=%iconPath%
echo IconIndex=0
) > "%%i\desktop.ini"
:: 3. 设置 desktop.ini 文件属性为 系统+隐藏+只读
attrib +s +h +r "%%i\desktop.ini"
)
)
echo.
echo 完成!按任意键刷新资源管理器以查看效果。
pause >nul
:: 刷新资源管理器
taskkill /f /im explorer.exe >nul 2>&1
start explorer.exe
脚本 2:PowerShell 脚本 (.ps1)
PowerShell 更强大,可以处理子文件夹、按条件筛选、处理带空格的路径等。
步骤:
- 将下面的代码复制到记事本中。
- 修改
$iconPath和$targetFolder两个变量。 - 保存为
Set-FolderIcons.ps1。 - 右键点击该文件 ->
使用 PowerShell 运行(如果报权限错误,先执行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser)。
# 设置图标文件路径(可以包含空格)
$iconPath = "C:\MyIcons\myicon.ico"
# 设置要修改的父文件夹路径(当前脚本所在目录)
$targetFolder = Get-Location
# 如果你想修改某个特定目录,可以取消下面一行的注释并修改路径
# $targetFolder = "D:\你的文件夹"
# 检查图标文件是否存在
if (-not (Test-Path $iconPath)) {
Write-Host "错误:图标文件不存在: $iconPath" -ForegroundColor Red
exit
}
Write-Host "正在批量修改文件夹图标..." -ForegroundColor Cyan
Write-Host "目标文件夹: $targetFolder" -ForegroundColor Yellow
Write-Host "图标文件: $iconPath" -ForegroundColor Yellow
Write-Host ""
# 获取所有子文件夹(可改为 -Recurse 以包含深层子文件夹)
$folders = Get-ChildItem -Path $targetFolder -Directory
foreach ($folder in $folders) {
Write-Host "处理: $($folder.Name)" -ForegroundColor Green
# 1. 设置文件夹属性为系统文件夹
attrib +s $folder.FullName
# 2. 创建 desktop.ini 文件内容
$desktopIniContent = @"
[.ShellClassInfo]
IconResource=$iconPath,0
IconFile=$iconPath
IconIndex=0
"@
# 3. 写入 desktop.ini(覆盖方式)
$desktopIniPath = Join-Path -Path $folder.FullName -ChildPath "desktop.ini"
$desktopIniContent | Out-File -FilePath $desktopIniPath -Encoding ASCII -Force
# 4. 设置 desktop.ini 属性:系统+隐藏+只读
attrib +s +h +r $desktopIniPath
}
Write-Host ""
Write-Host "操作完成!" -ForegroundColor Cyan
Write-Host "请按下任意键刷新资源管理器..." -ForegroundColor Gray
$null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
# 刷新资源管理器
Stop-Process -Name explorer -Force -ErrorAction SilentlyContinue
Start-Process explorer
重要注意事项
- 恢复原样:如果想恢复默认图标,删除文件夹里的
desktop.ini文件,并用attrib -s 文件夹路径取消系统文件夹属性即可。 - 权限问题:某些受保护的文件夹(如系统目录、
Program Files)可能无法修改。 - 路径中的空格:如果图标路径包含空格,请使用完整路径并用引号包裹,上述脚本已处理。
- 刷新:修改后可能需要刷新资源管理器(F5)或重启
explorer.exe才能看到效果,脚本末尾已经包含了刷新代码。 - 图标文件格式:请使用
.ico文件,其他格式(如.png)可能无法正常显示。
小技巧:一键恢复默认图标
如果你需要取消自定义,可以写一个简单的批处理:
@echo off
for /d %%i in (*) do (
if exist "%%i\desktop.ini" (
attrib -s -h -r "%%i\desktop.ini"
del "%%i\desktop.ini" /q
attrib -s "%%i"
echo 已恢复: %%i
)
)
taskkill /f /im explorer.exe >nul
start explorer.exe
这两个脚本都是生产可用的实用工具,直接运行即可,如果有任何报错,通常是路径问题或权限问题。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播