如果文件名包含字符串,则将文件移动到目标

Move file to destination if filename contains string

我有一个脚本,如果文件具有特定的文件扩展名,它将把文件从一个地方移动到另一个地方。

get-childitem -Recurse -path "S:\Vecta\Test\" | where {($_.extension -eq '.old')} | move-item -Destination "S:\Vecta\Archive"

有没有办法修改此脚本,使其查找文件名中包含单词 "AMA" 的 .old 文件?并将文件移动到目标路径?

我进行了很好的搜索,但我只能找到根据文件名将文件发送到目的地的脚本,而不是如果它包含特定单词。

非常感谢,

添加条件-like "*AMA*"

get-childitem -Recurse -path "S:\Vecta\Test\" | where {($_.extension -eq '.old' -and $_ -like '*AMA*')} | move-item -Destination "S:\Vecta\Archive"

编辑:您可以将两个 where 条件组合起来得到 -like "*AMA*.old"

只要使用这个,如果它不应该区分大小写:

get-childitem -Recurse -path "S:\Vecta\Test\" -filter '*AMA*.old' | move-item -Destination "S:\Vecta\Archive"

增强版为:

$name = 'ama'
get-childitem -Recurse -path "S:\Vecta\Test\" -filter "*$name*.old" | move-item -Destination "S:\Vecta\Archive"