首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用温和匹配搜索复制位于多个子文件夹中的文件

问使用温和匹配搜索复制位于多个子文件夹中的文件
EN

Stack Overflow用户
提问于 2019-06-12 11:53:15
回答 1查看 44关注 0票数 0

我已经尝试谷歌我的问题有一段时间了,没有一个解决方案,适合我的需要。希望你能帮我。

我有一些包含数以百万计的文件的子文件夹。我想搜索这些子文件夹的文件名包含翻滚文字。

这就是我所拥有的,但它不会将任何东西复制到我的$Newlocation文件夹中。

代码语言:javascript
复制
$Include = @"
20190421
20190422
20190423
20190424
"@

$BaseFolder  = "D:\FoldersContainingFiles"
$NewLocation = "D:\FolderForCopy\"

Get-ChildItem -Path $BaseFolder -Recurse -Include * | 
    Where-Object {$Include -contains $_.BaseName } |
    Copy-Item -Destination $NewLocation

没有错误代码,只有文件被移动。

EN

回答 1

Stack Overflow用户

发布于 2019-06-12 12:09:51

您的代码将只提供与变量中的示例完全相同的文件,即:

代码语言:javascript
复制
20190421
20190422
20190423
20190424

在任何情况下都不是一个有效的文件名。

我不知道你所说的“温和匹配”是什么意思。如果您的意思是,文件的文件名包含日期等,这将解决您的任务:

代码语言:javascript
复制
$Include = "20190421|20190422|20190423|20190424"
$BaseFolder  = "D:\FoldersContainingFiles"
$NewLocation = "D:\FolderForCopy\"

Get-ChildItem -Path $BaseFolder -recurse  | 
    Where-Object {$_.BaseName -match $Include }|
    Copy-Item -Destination $NewLocation

如果您的文件名与变量中包含的文件名完全相同,则可以使用以下正则表达式:

代码语言:javascript
复制
$Include = "^(20190421|20190422|20190423|20190424)$"

其余的代码是相同的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56561635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档