创建路径中所有文件/文件夹的符号链接

时间:2014-02-28 12:52:15

标签: batch-file

我有d:\ folder1和e:\ folder2 我想要做的是为每个文件/文件夹/从e:\ folder2中的d:\ folder1创建一个simlink。如果可能递归

到目前为止我尝试的是

for %f in (d:\folder1\*) do mklink /d %~dp0\%f

它只为似乎不起作用的文件创建了一些链接

有没有人有这方面的经验?

1 个答案:

答案 0 :(得分:1)

如果您只使用一个%来表示变量,我假设您是从cmd提示符执行此操作。 {cm>提示符无法解析%~dp0。你必须把它放在一个批处理文件中并加倍%。由于您使用/d mklink开关,这意味着您要创建目录符号链接。如果是这种情况,请使用:

For /d %%f in (d:\folder1\*) do mklink /d "%%~df\%%~nflink" "%~dp0%%~nf"

请注意,没有反斜杠。 %% ~dp0已包含它。

如果您还需要创建文件的simlinks,请使用

For /f "tokens=*" %%f in ('dir /s /b /a-d "d:\folder1"') do mklink "%%~dpnflink" "%~dp0%%~nxf"