Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PowerShell中将包含符号链接的文件夹结构扩展为真实文件和文件夹(无链接)?_Powershell_Symlink - Fatal编程技术网

如何在PowerShell中将包含符号链接的文件夹结构扩展为真实文件和文件夹(无链接)?

如何在PowerShell中将包含符号链接的文件夹结构扩展为真实文件和文件夹(无链接)?,powershell,symlink,Powershell,Symlink,我觉得必须有一个优雅的方法来实现这一点,所以在我一起破解一个复杂的实现之前,我要请所有聪明的人来做这件事。:)提前感谢您的任何想法 我在用PowerShell。在我的本地机器上,有一个包含一些符号链接的文件夹结构。我想用它们指向的真实内容替换这些符号链接,这样我就拥有了所有的文件夹结构和文件,而没有任何链接。如果我可以在适当的位置执行此操作(无需创建新的无链接副本),则可获得额外积分 我知道,只要在Windows资源管理器中复制/粘贴一个文件夹,我几乎可以做我想做的事情。我希望在PowerShe

我觉得必须有一个优雅的方法来实现这一点,所以在我一起破解一个复杂的实现之前,我要请所有聪明的人来做这件事。:)提前感谢您的任何想法

我在用PowerShell。在我的本地机器上,有一个包含一些符号链接的文件夹结构。我想用它们指向的真实内容替换这些符号链接,这样我就拥有了所有的文件夹结构和文件,而没有任何链接。如果我可以在适当的位置执行此操作(无需创建新的无链接副本),则可获得额外积分

我知道,只要在Windows资源管理器中复制/粘贴一个文件夹,我几乎可以做我想做的事情。我希望在PowerShell中以编程方式完成这项工作,最好不要创建新文件夹,然后在删除原始文件夹之前必须与原始文件夹交换

有什么建议吗?:)

我有办法了

您可以使用以下代码:

$File_LST = Get-ChildItem -Path C:\example
foreach ($File in $File_LST) {
    if($File.Attributes -like "*ReparsePoint*"){
         $FIL_PAT =  $file.Target
         $FIL_DST = $File.Directory.FullName
         Remove-item $File.FullName -Force
         Copy-Item -Path $FIL_PAT -Destination $FIL_DST -Force
    }
}

我已经在我的电脑上测试过了。当文件为符号链接时,目标的属性为“ReparsePoint”,您需要保存变量信息,因为删除链接时,PowerShell会丢失信息。

这是一个有趣的案例,但请记住,您必须向我们发送一些代码来修复它!