我有数百个文件要移动到对应的文件夹中。一个问题是它们的名称中只有一部分匹配。在示例中,我需要将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个字符,但不包括数字和扩展名。 实际上,我需要一些可用于相对匹配的代码。但是,我需要保持文件名不变。