cmd脚本:目录符号链接,一键将c盘的Cache目录都搞到内存盘里

前言:

小白发现自己系统里,好多程序都应用到了套壳的web服务应用。这就导致了在系统盘c盘内出现了,大量的Cache目录:

其中,有部分的都是浏览器的临时缓存目录,没啥大的数据价值。如下:

小白的系统内存比较大,有个虚拟内存盘,因此,就想把这些cache目录做“符号链接”给搞到内存盘上,一个一个设置太麻烦,就尝试弄个cmd脚本,临时使用一下。

希望实现是:

1、一键将 程序建立的cache目录清空并删除,建立指定的“符号链接”目录

2、在退出涉及的程序的情况下,可重复执行,不会引起软件异常。其实原因是,就是内存盘一重启目录就没了,需要重复执行。如果转移到其他磁盘的,当然是不需要重复执行。

3、尽量结构清晰,使用简单,要有一定的通用性

脚本记录如下:

@setlocal enabledelayedexpansion

@set im=0
@set xx[!im!].name=wx-cache
@set xx[!im!].realdir=s:\kcache\wx-cache
@set xx[!im!].fordir=C:\Users\Administrator\AppData\Roaming\Tencent\WeChat\xweb\web_ng\Cache

@rem -----------------Begin1:复制 修改以下 部分,添加:新的目录组合,逐次粘贴
@set /a im+=1
@set xx[!im!].name=blbl-cache
@set xx[!im!].realdir=s:\kcache\blbl-cache
@set xx[!im!].fordir=C:\Users\Administrator\AppData\Roaming\bilibili\cache
@rem -----------------End1:复制 修改以下 部分,添加:新的目录组合


@rem -----------------Begin2:复制 修改以下 部分,添加:新的目录组合,逐次粘贴
@set /a im+=1
@set xx[!im!].name=blbl-cache2
@set xx[!im!].realdir=s:\kcache\blbl-cache2
@set xx[!im!].fordir=C:\Users\Administrator\AppData\Roaming\bilibili\cache2
@rem -----------------End2:复制 修改以下 部分,添加:新的目录组合




@rem ------ 以下无需改动,会自动循环xx的对象数组数据
@set idx=0
@rem echo !xx[%idx%].name!
:loopstart
@if defined xx[%idx%].name (
@echo !idx!、---------------------------------------------------------------
@echo !idx!、建立缓存!xx[%idx%].name!
@set apath=!xx[%idx%].realdir!
@set dpath=!xx[%idx%].fordir!
@rem echo !apath!
@rem echo !dpath!
@echo !idx!、清空并删除!dpath!
@del /q !dpath!
@rmdir /s /q !dpath!
@echo !idx!、清空并删除!apath!
@rmdir /s /q !apath!
@mkdir !apath!
@mklink /d !dpath! !apath!
@rem pause
@set /a idx+=1
@goto loopstart
)

pause

使用的时候,

1、凡是代码中,涉及以下目录结构的,都可以修改:

@set xx[!im!].name=ai0x0-cache (修改:显示的目录标题)

@set xx[!im!].realdir=s:\kcache\ai0x0-cache (修改:内存盘的cache目录,符号链接的目标目录)

@set xx[!im!].fordir=C:\Users\Administrator\AppData\Roaming\AI0x0\Cache (修改:原程序生成的cache目录,符号链接的源目录)

3、重复复制和修改 代码中注明的需要复制的 目录结构

4、需要特别注意的是:

4.1、凡是需要一键建立:目录符号链接,都可以使用这种方式。比如:一键移动浏览器的缓存目录啥的

4.2、特别要注意:会自动 清空并删除 指定的相应目录和子文件,包括源和目标目录(都会清空删除)。可自己视情况调整。

涉及清空和删除的代码是:

@echo !idx!、清空并删除!dpath!

@del /q !dpath!

@rmdir /s /q !dpath!

@echo !idx!、清空并删除!apath!

@rmdir /s /q !apath!

@mkdir !apath!

举报
评论 0