gpt4 book ai didi

Powershell Copy-Item 复制无法复制到叶子的 UNC 子目录的内容

转载 作者:行者123 更新时间:2023-12-02 23:22:57 24 4
gpt4 key购买 nike

对于我重新定义此问题的以下术语可能引起的混淆,请提前道歉;

  • 目录(顶级目录)
  • 子目录(顶级目录下的目录)
  • sub_subdirectory(子目录的子目录)
  • 目录内容(文件和子目录)
  • 子目录的内容(文件和子子目录)


  • 问题

    我正在尝试使用 Windows 7 Powershell 3.0 Copy-Item将一个目录的六个子目录复制到另一个目录的功能;相当简单的东西。请注意,这些目录位于网络上,其 UNC 路径已映射到 Windows 环境中的驱动器,如: H:\ = \\servername\path
    在以下示例中,顶层目录本身被复制,而不仅仅是其内容(恰好是六个子目录及其内容)
    $from = "H:\temp\toplvl_dir - backup"

    $to = "H:\temp\newdir"

    Copy-Item $from -Destination $to -Recurse

    # Creates:
    # H:\temp\newdir\toplvl_dir - backup

    这是不可取的。
    在借用 David-Tchepak solution 格式方面取得了进展使用“*”后缀 $from = "H:\temp\toplvl_dir\* "部分原因在于它确实只复制了内容......
    $from = "H:\temp\toplvl_dir - backup\*"

    $to = "H:\temp\newdir"

    Copy-Item $from -Destination $to -Recurse

    # Creates:
    # H:\temp\newdir\{copied contents of .\toplvl_dir - backup\NN_subdir\}

    ...但不幸的是,这些内容来自低于所需级别的一级:即子目录 .\toplvl_dir - backup\NN_subdir\ 的内容, 而不是 的内容目录 .\toplvl_dir... $from上例中的目录实际上包含六个子目录 "\01_subdir", "\02_subdir"...."\06_subdir" ,每个都包含一个相同的“树”,该“树”由一个单独的子目录组成,该子目录本身包含大量文件。完整路径如下所示;
    e.g. H:\temp\toplvl_dir - backup\NN_subdir\lone_subdirectory\{lots of files}
    Copy-Item似乎试图复制 子子目录lone_subdirectory ,为每个 NN_subdir 报告错误; “无法将容器复制到现有的叶项上” .到目前为止,我了解 NN_subdir 的内容的每个副本迭代超越第一个 01_subdir , 是 lone_subdirectory 的重复这将导致目录名称冲突,但我不明白为什么使用语法 Copy-Item正在尝试复制 sub_subdirectories 而不是子目录 .\toplvl_dir - backup\NN_subdir\
    如何调用 Copy-Item 的简单电话复制顶级目录的内容 .\toplvl_dir - backup\*进入 .\newdir即六个子目录本身及其内容!?

    如果我不合理地期望能够通过对 Copy-Item 的单行调用来完成此操作,请随意说。 ?
    # Desired Result using a one-line call to Copy-Item:
    H:\temp\newdir\01_subdir\lone_subdirectory\{lots of files}
    H:\temp\newdir\02_subdir\lone_subdirectory\{lots of files}
    H:\temp\newdir\03_subdir\lone_subdirectory\{lots of files}
    H:\temp\newdir\04_subdir\lone_subdirectory\{lots of files}
    H:\temp\newdir\05_subdir\lone_subdirectory\{lots of files}
    H:\temp\newdir\06_subdir\lone_subdirectory\{lots of files}

    :-S

    最佳答案

    澄清一下,如果我有这样的文件夹结构:

    C:\src\01\lone\a.txt
    C:\src\02\lone\b.txt
    C:\dest

    您正在寻找 1 行 Copy-Item 命令来生成如下所示的目录结构?
    C:\dest\01\lone\a.txt
    C:\dest\02\lone\b.txt

    那是对的吗?如果是这样,这个命令对我有用(尽管是 Win7,PS 版本 5):
    Copy-Item -Path 'C:\src\*' -Destination 'C:\dest' -Recurse

    关于Powershell Copy-Item 复制无法复制到叶子的 UNC 子目录的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44846397/

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