PowerShell mklink在具有正则表达式的多个文件上

时间:2014-05-08 14:21:38

标签: powershell batch-processing mklink

我的名字中有一堆带有类似前缀的文件夹,我希望对这些文件夹建立符号链接,这样我就可以在尊重原始文件夹命名约定的同时删除前缀。以下是一些示例文件夹名称:

2013.Folder1
2013.Folder2
2014.Folder1

在文件夹中:

C:\Users\madeupname\Documents

在linux中,我只是做

ln -s /home/madeupname/Documents/201* /home/madeupname/Documents/links/

(这段代码可能不完全正确,因为我现在没有方便的linux盒子)

在Windows PowerShell中,我可以手动为这3个文件执行此操作:

cmd /c mklink C:\Users\madeupname\Documents\links\2013.Folder1 C:\Users\madeupname\Documents\2013.Folder1

但这并不好,因为真实目录有很多文件!

2 个答案:

答案 0 :(得分:0)

如果我理解正确,这对你有用:

$path = "C:\Users\madeupname\Documents"

dir $path -Directory | 
% { cmd /c mklink C:\Users\madeupname\Documents\links\$_.name $_.fullname /d}

答案 1 :(得分:0)

我找到了一个用于执行此操作的GUI,但这是作弊,所以我不会将此标记为答案:

http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html