查看: 54|回复: 0

[C# 开发] FolderIconFix

[复制链接]

5

主题

0

回帖

0

积分

积极分子

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2008-8-28
发表于 2026-4-26 20:05:00 | 显示全部楼层 |阅读模式

做了个小工具, 这个是用于将文件夹的图标路径设置为相对路径, 方便转移文件.

效果:


绝对路径转相对路径核心代码 (纯业余水平, 见丑了):

string[] tmp2; //吧路径切成腻子, 图标路径
string[] tmp3; //吧路径切成腻子, 当前文件夹路径
string[] tmp4; //截取之后保留的路径, 就是 ".\icon.ico" 的 "icon.ico" 这一段
tmp2 = iconpath.Split('\\');
tmp3 = folder.Split('\\');

int lastindex = tmp3.Length - 2; //遍历每个腻子, 这个记录, 当遇到比较不同文件夹名称时, 最后的索引, 默认是文件夹所在路径, 去除 Desktop.ini 和盘符的数组长度
for (int i = 0; i < tmp3.Length - 1; i++) //跳过第一个和最后一个
{
    if (tmp2 == tmp3)
    {
        lastindex = i + 1;
        continue;
    }
    else
    {
        break;
    }
}
string newiconpath = "";
tmp4 = new string[tmp2.Length - lastindex];
Array.Copy(tmp2, lastindex, tmp4, 0, tmp2.Length - lastindex);
//往前
if (lastindex < tmp3.Length - 1)
{
    for (int i = 0; i < lastindex; i++)
    {
        newiconpath = "..\\" +  newiconpath;
    }
    newiconpath = newiconpath + string.Join("\\", tmp4);
}
//往后
else
{
    newiconpath = ".\\" + string.Join("\\", tmp4);
}

项目开源在:
Github - FolderIconFIx



来源:https://www.cnblogs.com/yuhang0000/p/19933497
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部