Arrays Powershell使用不带空格的数组移动项目

Arrays Powershell使用不带空格的数组移动项目,arrays,powershell,Arrays,Powershell,正在尝试使用powershell中的数组移动某些文件。。这是我脚本的一个非常简单的版本,但它解释了我的问题 $locations = @( ("C:\Users\USERNAME\Desktop\source","C:\Users\USERNAME\Desktop\dest","1234"), ("C:\Users\USERNAME\Desktop\source1","C:\Users\USERNAME\Desktop\dest","5678

正在尝试使用powershell中的数组移动某些文件。。这是我脚本的一个非常简单的版本,但它解释了我的问题

 $locations = @(
             ("C:\Users\USERNAME\Desktop\source","C:\Users\USERNAME\Desktop\dest","1234"),
             ("C:\Users\USERNAME\Desktop\source1","C:\Users\USERNAME\Desktop\dest","5678")
   )


Foreach ($value in $locations)
{ 
    Foreach ($file in (Get-ChildItem -Path $value[0]))
    {
        If ($file.Name -match $value[2])
        {
        Write-Host $value[0]\$file
        }
    }
}
我真的不打算使用写主机,但出于某种原因,powershell在数组值之间添加了一个空格

C:\Users\USERNAME\Desktop\source \File_1234_Nr1.txt
C:\Users\USERNAME\Desktop\source1 \File_5678_Nr1.txt

我不想将这些变量放在一起,这样命令移动项就不会抱怨路径不正确。

使用join-path cmdlet:

 $locations = @(
             ("C:\Users\username\Desktop\source","C:\Users\USERNAME\Desktop\dest","1234"),
             ("C:\Users\username\Desktop\source1","C:\Users\USERNAME\Desktop\dest","5678")
   )


Foreach ($value in $locations)
{ 
    Foreach ($file in (Get-ChildItem -Path $value[0]))
    {
        If ($file.Name -match $value[2])
        {
        $path = Join-Path $value[0] $file
        $path
        }
    }
}

非常感谢尼米赞!