创建符号链接的同步方法?

创建符号链接的同步方法?

有人知道可以生成符号链接而不是复制文件的同步应用程序吗?或者执行此操作的 (Windows) 批处理脚本是什么样子的?

如果脚本是解决方案,我想递归地在文件夹树中搜索具有特定名称的文件夹,例如“我的文件夹”,并且仅“同步”(创建指向)这些文件夹的链接。

答案1

因此我学习了一些 cmd 脚本,下面就是我想到的内容:

SET target="M:\TEST"
SET filter="Personal"

forfiles /s /m %filter% /c "cmd /c IF @isdir==TRUE mkdir %target%\@relpath"
forfiles /s /m %filter% /c "cmd /c IF @isdir==TRUE rmdir %target%\@relpath"
forfiles /s /m %filter% /c "cmd /c IF @isdir==TRUE mklink /D %target%\@relpath %cd%\@relpath"

这将在当前目录中查找所有名为“Personal”的文件夹,并在目标目录中创建符号链接。我不得不做一些小技巧来保留文件夹结构。(它不想在尚不存在的位置创建符号链接。)

它可能很复杂,但我试图管理的程序也是如此(在本例中是 FL Studio)。

更新

当路径中有空格时,该代码就会出现问题。经过几个小时的疯狂尝试,以下代码似乎可以正常工作。是的,有很多引号。

SET target=C:\Program Files\Path With Spaces
SET filter=Personal

forfiles /s /m %filter% /c "cmd /c IF @isdir==TRUE mkdir """%target%"""\@relpath"
forfiles /s /m %filter% /c "cmd /c IF @isdir==TRUE rmdir """%target%"""\@relpath"
forfiles /s /m %filter% /c "cmd /c IF @isdir==TRUE mklink /D """%target%"""\@relpath """%cd%"""\@relpath"

答案2

复制有超过 230 个开关,其中一些用于符号链接处理,正如这里所讨论的

它可以同步您的符号链接。有一个供个人使用的免费版本,但它不适合自动脚本,因为它需要用户输入(按 Y 表示确定)。

复制

相关内容