Arrays Powershell使用不带空格的数组移动项目
正在尝试使用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
$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
}
}
}
非常感谢尼米赞!