Powershell-从txt查找文件并重命名

时间:2018-11-21 13:58:24

标签: powershell

我有一个脚本,可以从MySQL查询创建文本文件。它仅包含6个长度较长的订单号的列表:

C5P7M7
C5NMHD
C5MB2H
C5P278
C5NVSJ

我必须在文件名类似于以下示例的目录中找到这些订单号,并将其重命名为仅前6个字符。

C5NVSJ_2018-11-21_02.39.17.pmf
C5P278__2018-11-21_02.39.17.pmf
.
.

到目前为止,我的脚本是

$file = File.txt    
if (Test-Path -Path $fromv) {
  foreach($F in $file) {
    $wtf2 = Get-ChildItem $fromv | ?{ $_.Name -match $F+'*'} | %{ Copy-Item $_.FullName $todirs -Force } 
  }   
  $Copied = Get-ChildItem -Path $todirs -Filter "*.pmf" | rename-item -Force -newname { [string]($_.name).Substring(0,6) + '.pmf' }
}

问题在于脚本也复制了具有相似文件名的文件,而不仅仅是完全相同的文件名。如何将-match与子字符串一起使用?

0 个答案:

没有答案