gpt4 book ai didi

Powershell - 从字符串中排除文件夹

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

我有一个巨大的目录(几千个文件夹),像这样:

...\94000\abc\def\hig
...\95000\abc\def\hig
...\96000\abc\def\hig
...\97000\abc\def\hig
...

所以路径的一部分是交替的,但文件夹结构的其余部分是相同的。还有很多子文件夹在 abc 和 def 等下。

我需要做的是从文件夹“hig”复制一个特定文件。

我对 Powershell 很陌生,但设法将以下内容放在一起:

$destination = "C:\Users\etc..."
$source = "B:\94000"
Get-ChildItem $source -Filter "LIVE*.docx" -File -Recurse | Foreach {
Copy-Item $_.FullName $destination
}

我知道这是非常基础的,但它确实有效。问题是它很慢,请提供要筛选的文件夹数量。

有什么办法可以加快速度吗?我正在考虑让脚本跳过我知道不包含我需要的文件的文件夹。

我还想知道我是否可以在路径中使用通配符,这样我就可以定义确切的文件夹,如下所示:\9*000abc\def\high

但无法使任何一个工作。

非常感谢任何想法!

最佳答案

您绝对可以像您暗示的那样使用通配符。你可以这样做:

Get-ChildItem B:\9*000\abc\def\hig\live*.docx

那应该返回如下文件:

B:\94000\abc\def\hig\livesite.docx
B:\94000\abc\def\hig\live.docx
B:\95000\abc\def\hig\livefreeordie.docx
B:\96000\abc\def\hig\liverandonions.docx
B:\96000\abc\def\hig\livesinmomsbasement.docx

然后您可以将它们通过管道传输到 Copy-Item -Destination $destination,例如:

Get-ChildItem B:\9*000\abc\def\hig\live*.docx | Copy-Item -Destination $destination

关于Powershell - 从字符串中排除文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45421114/

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