查看: 64|回覆: 0

[C# 开发] FolderIconFix

[複製鏈接]

6

主題

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.

在本版发帖返回顶部