2015-10-29 24 views
2

試圖移動使用數組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") 
    ) 


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 

我wan't這些變量是在一起,使指揮布展項目不會抱怨不正確的路徑添加一個空的空間。

回答

1

使用聯接路徑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 
     } 
    } 
} 
+0

非常感謝您Nimizen! – Anthon