我有d:\ folder1和e:\ folder2 我想要做的是为每个文件/文件夹/从e:\ folder2中的d:\ folder1创建一个simlink。如果可能递归
到目前为止我尝试的是
for %f in (d:\folder1\*) do mklink /d %~dp0\%f
它只为似乎不起作用的文件创建了一些链接
有没有人有这方面的经验?
答案 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"