Zhr*_*hro 5 windows symbolic-link command-line batch-file cmd.exe
我有一个a\包含文件和子目录的目录,我想将这些文件和子目录复制到路径中b\,而不是将我想MKLINK <link> <target>对每个文件执行调用的文件复制到新路径中,而不是执行实际复制。
所以如果我有一个目录:
Z:\a\file1.txt
Z:\a\file2.txt
Z:\a\some_path\file3.txt
Z:\a\some_path\file4.txt
Run Code Online (Sandbox Code Playgroud)
我将链接从路径复制a\到b\结果将如下所示:
Z:\b\file1.txt <<===>> z:\a\file1.txt
Z:\b\file2.txt <<===>> z:\a\file2.txt
Z:\b\some_path\file3.txt <<===>> z:\a\some_path\file3.txt
Z:\b\some_path\file4.txt <<===>> z:\a\some_path\file4.txt
Run Code Online (Sandbox Code Playgroud)
如果目标目录没有匹配的文件夹结构,则目录层次结构将保留为非链接文件夹。请注意,只有文件是链接。
一个成功的测试将成功,其中Z:\b是一个空目录,Z:\b包含一个文件夹Z:\b\some_path,以及之前的测试但Z:\b我已经包含同名文件;冲突将被忽略,并且不会为它们创建链接。
如何使用批处理文件执行此操作,除了标准 Windows 10 安装中可用的依赖项之外,没有其他依赖项?
MKLink注意: 仅当目标路径文件夹尚不存在时,这才有效。
您可以简单地使用带有参数的mklink命令/J来创建一个目录连接,将链接路径指向链接两者的源根目录的位置,并根据需要创建一个模拟目录结构,并递归引用下面的文件。
@ECHO ON
SET SrcRoot=Z:\a
SET LinkRoot=Z:\b
MKLINK /J "%LinkRoot%" "%SrcRoot%"
PAUSE
EXIT
Run Code Online (Sandbox Code Playgroud)
mklink /?
Run Code Online (Sandbox Code Playgroud)Creates a symbolic link. MKLINK [[/D] | [/H] | [/J]] Link Target /D Creates a directory symbolic link. Default is a file symbolic link. /H Creates a hard link instead of a symbolic link. /J Creates a Directory Junction. Link Specifies the new symbolic link name. Target Specifies the path (relative or absolute) that the new link refers to.
| 归档时间: |
|
| 查看次数: |
4677 次 |
| 最近记录: |