У меня есть скрипт, который создает текстовый файл из запроса 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
с подстрокой?