@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%=! 把原始目录的不变段 替换成 新目录,最终实现:新目录+原始目录内的子目录+文件名。