我有一个脚本,如果文件有特定的文件扩展名,它会将文件从一个地方移动到另一个地方。
get-childitem -Recurse -path "S:\Vecta\Test\" | where {($_.extension -eq '.old')} | move-item -Destination "S:\Vecta\Archive"
是否有办法修改此脚本,以便查找.old文件,其中包含" AMA"包含在文件名中?并将文件移动到目标路径?
我有一个很好的搜索,但我能找到的是根据文件名将文件发送到目的地的脚本,而不是它包含特定的单词。
非常感谢,
答案 0 :(得分:1)
添加条件-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"
答案 1 :(得分:1)
如果它不应该区分大小写,请使用它:
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"