gpt4 book ai didi

powershell - 在 Powershell 中解析快捷方式

转载 作者:行者123 更新时间:2023-12-03 16:25:39 25 4
gpt4 key购买 nike

我有一些代码试图复制包含快捷方式的目录:

 # Create a directory to store the files in
mkdir "D:\backup-temp\website.com files\"

# Search for shortcuts so that we can exclude them from the copy
$DirLinks = Get-ChildItem "\\web1\c$\Web Sites\website\" -Recurse | ? { $_.Attributes -like "*ReparsePoint*" } | % { $_.FullName }

# Execute the copy
cp -recurse -Exclude $DirLinks "\\web1\c$\Web Sites\website\*" "D:\backup-temp\website.com files\"

但是当我执行脚本时出现以下错误:

 Copy-Item : The symbolic link cannot be followed because its type is disabled.
At C:\scripts\backup.ps1:16 char:3
+ cp <<<< -recurse "\\web1\c$\Web Sites\website\*" "D:\backup-temp\website.com files\"
+ CategoryInfo : NotSpecified: (:) [Copy-Item], IOException
+ FullyQualifiedErrorId :
System.IO.IOException,Microsoft.PowerShell.Commands.CopyItemCommand

似乎脚本卡在了我试图在脚本的第四行中排除的符号链接(symbolic link)(我假设是快捷方式)。

如何告诉 powershell 忽略/排除快捷方式?

谢谢,布拉德

最佳答案

如果您使用的是 V3 或更高版本,您可以像这样消除重新分析点:

Get-ChildItem "\\web1\c$\Web Sites\website" -Recurse -Attributes !ReparsePoint | 
Copy-Item -Dest "D:\backup-temp\website.com files"

在 V1/V2 上你可以这样做:

Get-ChildItem "\\web1\c$\Web Sites\website" |
Where {!($_.Attributes -bor [IO.FileAttributes]::ReparsePoint)} |
Copy-Item -Dest "D:\backup-temp\website.com files" -Recurse

关于powershell - 在 Powershell 中解析快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21514284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com