【问题标题】:Remove everything before \删除 \\ 之前的所有内容
【发布时间】:2022-11-07 22:38:49
【问题描述】:

我需要复制很多文件并使用文件需要去的相同类型的文件夹结构。 例如,如果我有以下两个文件:

\\Server1\Projects\OldProject\English\Text_EN.docx
\\Server1\Projects\OldProject\English\Danish\Text_DA.docx

我需要将它们移动到服务器上的新位置,但它们需要位于相同的“语言文件夹”中。所以我需要像这样移动它们:

\\Server1\Projects\OldProject\English\Text_EN.docx -> \\Server1\Projects\NewProject\English\Text_EN.docx
\\Server1\Projects\OldProject\English\Danish\Text_DA.docx -> \\Server1\Projects\NewProject\English\Danish\Text_DA.docx

这里的问题是,我需要取“语言”文件夹的名称并在NewProject 文件夹中创建它们。

我如何能够在\ 之前获取和删除所有内容,所以我最终只拥有像English\English\Danish 这样的“语言”文件夹

【问题讨论】:

  • 假设您的当前目录是\\Server1\Projects\OldProject\Copy-Item .\* -Destination \\Server1\Projects\NewProject\ -Recurse 不起作用吗?
  • 使用-Container on Copy-Item。堆栈溢出answer

标签: powershell


【解决方案1】:

如果目标只是用文件路径中的“NewProject”替换“OldProject”文件夹,您可以使用替换来更改文件路径:

$filePath = Get-ChildItem \Server1ProjectsOldProjectEnglishText_EN.docx
Copy-Item $filePath.FullName -Destination ($filepath.FullName -replace "OldProject", "NewProject")

'' 用于对标签内的任何内容进行正则表达式精确匹配。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-13
    • 1970-01-01
    • 2022-09-22
    相关资源
    最近更新 更多