.bat批处理动态实现文件夹的软链接

.bat批处理动态实现文件夹的软链接

【前言】

Windows的批处理的软链接API大致如下,我们想要实现文件夹的软链接需要用到/J创建目录联接,然后就做了一个bat脚本。

MKLINK [[/D] | [/H] | [/J]] Link Target

       /D      创建目录符号链接。默认为文件
               符号链接。
       /H      创建硬链接而非符号链接。
       /J      创建目录联接。
       Link    指定新的符号链接名称。
       Target  指定新链接引用的路径
               (相对或绝对)

【放出代码】

大致思路:第一步拖入Link的路径,这个目录是我们软链接的父目录,第二步拖入Target的路径,作为源文件夹,然后下一步我们需要拿到Target路径的最后一个文件夹,将这个文件夹加到Link路径后的目录,使软链接和源文件的文件夹相同,方便知道。最后就使用mklink /j来实现文件夹之间链接共享。

echo off
rem MKLINK [[/D] | [/H] | [/J]] Link Target
rem
rem        /D      创建目录符号链接。默认为文件
rem                符号链接。
rem        /H      创建硬链接而非符号链接。
rem        /J      创建目录联接。
rem        Link    指定新的符号链接名称。
rem        Target  指定新链接引用的路径
rem                (相对或绝对)。

rem 拖进一个目录作为 Target,然后拖入新目录作为Link,加个Target末尾目录文件夹作为Target,然后回车实现动态软链接
echo "================================"
echo 动态软链接工具,Link目录(生成的软链接路径),需要拖入Target目录(软链接的源文件夹路径),然后回车关联目录(/J,实现目录链接共享)
echo "================================"
:RestStart
set /p Link=请拖入Link执行:
set /p Target=请拖入Target执行:
rem 取最后一个文件夹名
for /f "delims=" %%a in ("%Target%") do (
for %%I in (%Target%) do (
echo %%~na%%~xI 
set Link=%Link%\%%~na%%~xI 
)
)

mklink /j %Link% %Target%
echo  "================================"
goto RestStart
rem pause
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值