如何根据相对值将文件移动到对应的文件夹中?

时间:2019-07-17 08:10:42

标签: powershell

我有数百个文件要移动到对应的文件夹中。一个问题是它们的名称中只有一部分匹配。在示例中,我需要将4ME - 2017_Prices_Letter_CBY.pdf移至C:\Users\S7051895\Desktop\Test2\4ME United Kingdom Plc - F007895 folder,依此类推。显然,我无法以100%的精度移动它们,尽管任何接近所需结果的东西都很棒。

我有一个可以处理绝对值的代码,因此它正在寻找名为4ME的文件夹-2017_Prices_Letter_CBY.pdf。

$SourceFolder = "C:\Users\S7051895\Desktop\test1"
$targetFolder = "C:\Users\S7051895\Desktop\Test2"

Get-ChildItem -Path $SourceFolder -Filter *.* | ForEach-Object {
    [System.IO.FileInfo]$destination = (Join-Path -Path $targetFolder -ChildPath $_.Name.Replace("_","\"))

    Copy-Item -Path $_.FullName -Destination $Destination.FullName 

这是个主意,让我们假设代码可以使用基本名称的前6个字符,但不包括数字和扩展名。 实际上,我需要一些可用于相对匹配的代码。但是,我需要保持文件名不变。

0 个答案:

没有答案