# 获取所有递归pin的根CID,并并行重新pin(已pin会提示但无害)
$cidList = ipfs pin ls --type=recursive | ForEach-Object { $_.Split(' ')[0] }
Write-Host "找到 $($cidList.Count) 个递归根CID,开始并行pin..."
$cidList | ForEach-Object -Parallel {
$cid = $_
try {
$result = ipfs pin add $cid 2>&1
Write-Output "[$(Get-Date)] SUCCESS: $cid -> $result"
} catch {
Write-Output "[$(Get-Date)] ERROR: $cid -> $_"
}
} -ThrottleLimit 10 # 可调整为 5~20,根据机器和daemon负载
Write-Host "并行pin完成!"