windows用硬链接备份目录文件夹

@echo off
set workingDir=%~dp0
set link=E:\hardBackup\
mkdir "%link%"
XCOPY /T "%workingDir%" "%link%"
setlocal enabledelayedexpansion
for /r "%workingDir%" %%i in (. *) do ( 
set "dirnoname=%%~dpi"
echo next
echo !dirnoname!%%~nxi
mklink /h "%link%!dirnoname:%workingDir%=!%%~nxi" "%%i"
)

 

保存为bat,放入备份的目录,用管理员执行

效果:在E:\hardBackup\中生成目标目录完整的备份,不需要额外的空间,可以随时查看文件或被程序访问,升级版垃圾桶

注意:备份在同驱动器,everything不能检索到,windows可以检索

原理:先复制空目录结构,再批量创建硬链接。!dirnoname:%workingDir%=! 把原始目录的不变段 替换成 新目录,最终实现:新目录+原始目录内的子目录+文件名。

posted @ 2020-06-22 19:38  Eledim  阅读(911)  评论(0编辑  收藏  举报