首页 > 解决方案 > 需要将 150+ 个文件从不同的网络文件夹复制到一个本地文件夹中

问题描述

有一个powershell问题。我会将其分解为项目符号;

  1. 需要将 150 多个文件从网络中的远程位置复制到我的本地计算机。它们都是小文件,通常是 txt、doc 或 docx 文件。
  2. 我已将所有文件路径保存到我想用作输入文件的 txt 文件中。
  3. 我可以访问所有远程文件夹并且不需要任何身份验证。

任何帮助将不胜感激。

标签: powershell

解决方案


这不是我写过的最优雅的代码,但它可以完成这项工作:

$destination = "x:\files\"
Get-Content "paths.txt" | foreach {
    Get-ChildItem $_\* | foreach {
        $suffix = 0
        do {
            if ($suffix -eq 0) {$name = $_.Name}
            else {$name = $_.BaseName + "_" + $suffix + $_.Extension}
            $suffix++
        }
        until(-not(Test-Path (Join-Path $destination $name)))

        Copy-Item $_.FullName (Join-Path $destination $name)
    }
}

推荐阅读