AI软件下载
有趣网站推荐及实用软件下载

Windows电脑程序mklink重定向访问文件夹路径,u2net修改本地缓存位置

有些Windows电脑应用运行时会往C盘里下载一些文件,如果把应用复制到其它电脑上运行,程序又会下载一次文件到C盘Administrator文件夹中,这样就会比较麻烦。我们可以把程序需要下载的文件直接放到项目文件夹中,如果找不到源代码中相关文件保存位置代码的话,我们可以使用mklink重定向链接的方式,让应用访问我们指定的文件夹目录。

以u2net为例,应用在运行的时候会下载文件到C:\Users\Administrator\.u2net文件夹,将原目录重定向到当前程序运行目录内的u2net文件夹,实现每次运行都调用当前u2net文件夹内的模型文件,不再每次都下载到C盘里,实现代码如下:

C#

// 动态获取当前用户的主目录
static string userHomeDirectory = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
static string u2netTarget = System.IO.Path.Combine(userHomeDirectory, ".u2net");

// 获取当前程序的运行目录
static string rundir = AppDomain.CurrentDomain.BaseDirectory; 
static string u2netSource = System.IO.Path.Combine(rundir, "u2net");
//先删除C盘里u2net文件夹
if (Directory.Exists(u2netTarget))
{
    System.IO.Directory.Delete(u2netTarget,true);  // 删除目录及其内容
}


// mklink 命令
string command = "mklink";
string args = $@"/D ""{u2netTarget}"" ""{u2netSource}""";

这样就创建了两个文件夹之间的符号链接,就相当于一个快捷方式一样,当访问C盘.u2net文件夹的时候会自动转到u2net文件夹内

注意:

由于不是所有电脑C盘个人文件夹都是Administrator,所以这里采用Environment.SpecialFolder.UserProfile动态获取的方式

如果C盘里已有.u2net文件夹则创建连接会失败,所以在程序运行的时候会先删除C盘里原文件夹

mklink创建的链接是永久存在的,所以建议在功能或程序结束的合适的时间删除链接,可通过如下方式删除:

System.IO.Directory.Delete(u2netTarget);

这样就实现了程序每次运行的时候到指定目录里读取文件,而不需要再下载文件到C盘里了。

可灵AI限时福利速度领取>>


软件催更及1对1人工答疑支持: https://nuowa.net/1806
赞(1) 打赏
软件无法使用?点击查看常见问题说明>>

最近更新

支付宝发现金红包了!支付宝的羊毛快来薅💰️💰️-诺瓦小站

支付宝发现金红包了!支付宝的羊毛快来薅💰️💰️

支付宝小荷包搞活动啦,新用户加入立得2元无门槛现金红包。 支付宝小荷包是支付宝推出的一款便捷的零钱管理工具,适合日常小额支付和理财。 什么是支付宝小荷包? 支付宝小荷包,简单来说,就像是你在支付宝里的“私人金库”。它不仅支持快速转账、收款,...

美团官方发福利,吃喝玩乐外卖神券天天领-诺瓦小站

美团官方发福利,吃喝玩乐外卖神券天天领

美团官方发福利了,加美团企业微信,每天免费领各种吃喝玩乐神券,领取福利流程如下: 1、微信扫码登录↓↓↓ 2、长按添加美团企业微信 3、天天领券 每日签到领取更多红包 更有超多促销活动,限时活动,低价爆品等,让你放肆嗨吃嗨喝!

可灵AI会员专属优惠邀请码,限时福利领取-诺瓦小站

可灵AI会员专属优惠邀请码,限时福利领取

可灵AI发福利了,通过专属优惠邀请码 6BZPEJK83JZ9 可额外获得50%灵感值。 现在图片、音乐、视频等等,啥都可以用AI生成,可灵AI就是快手旗下非常强大的一个AI内容创作平台,功能多样,效果强大。我最近半年几乎每周都会使用多次,...

觉得文章对你有帮助就打赏一下作者

非常感谢你的打赏,我将有更多的动力继续提供优质内容,让我们一起创建更加美好的世界!

支付宝扫一扫

微信扫一扫