吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1863|回复: 5
收起左侧

[其他原创] 使用PowerShell批量生成软链接(便于冗余文件分盘)

[复制链接]
BLUE7777777 发表于 2023-5-15 18:06
本帖最后由 BLUE7777777 于 2023-7-23 18:28 编辑

使用PowerShell批量生成软链接(便于冗余文件分盘)

应用场景举例:QQ小图片过多,软链接分在别的硬盘/NAS上,减少本地磁盘压力,加快消息记录搜索速度。
当然也适用其它包含冗余文件场景,可自行操作。

样例代码只需要修改两个地方:
$Local_link:本地路径
$target_Item:远程路径(也可以是本地其它硬盘/分区)

PowerShell需要用管理员身份运行


样例代码打包下载地址(打包代码已测试过):
https://cloud.189.cn/t/u6Z7f2z6J3Ev




[PowerShell] 纯文本查看 复制代码
Function New-SymLink ($link, $target)
{
    if (test-path -pathtype container $target)
    {
        $command = "cmd /c mklink /d"
    }
    else
    {
        $command = "cmd /c mklink"
    }

    invoke-expression "$command $link $target"
}

Function Remove-SymLink ($link)
{
    if (test-path -pathtype container $link)
    {
        $command = "cmd /c rmdir"
    }
    else
    {
        $command = "cmd /c del"
    }

    invoke-expression "$command $link"
}

Function For-New-SymLink ($link, $target)
{
$Local_link_For=$link
$target_Item_For=$target
$target_files=dir
$target_fileslength=$target_files.count
for($i=0;$i -lt $target_fileslength;$i++)
{
if($target_files[$i].mode -eq "d-----")
{echo "folder"
$source_file=$target_files[$i].name
New-Symlink $Local_link_For\$source_file $target_Item_For\$source_file
}
else
{echo "file"
$source_file=$target_files[$i].name
New-Symlink $Local_link_For\$source_file $target_Item_For\$source_file
}
}
}



免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
daoye9988 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| BLUE7777777 发表于 2023-5-15 18:19
以QQ举例来说,先把QQ聊天记录根目录的文件放进去,再执行PowerShell代码,链接远程路径创建文件夹的软链接,这样就把图片存在了远程目录上,不会给本地磁盘造成很大负担。
ysjd22 发表于 2023-5-15 21:01
 楼主| BLUE7777777 发表于 2023-5-18 12:43
落叶风扶柳 发表于 2024-3-12 20:42
谢谢楼主
头像被屏蔽
hjsen 发表于 2024-3-12 20:53
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 18:41

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表