Get-ChildItem "$Folder" *.xlsx -Recurse | ?{-not ($_.PSIsContainer -or (Test-Path "I:\TEMP_Dir_SSN\$_"))} | copy-Item -Destination "I:TEMP_Dir_SSN" | out-null
Get-ChildItem "$Folder" *.xlsx -Recurse | %{
$test = Resolve-Path $_.FullName
$holdArray += $test.path
}
$holdArray | out-file "I:\TEMP_Dir_SSN\fullPath.txt" -append
輸出:陣列輸出到多行
I:\1992.xlsxI:\projects\confluence\projects\documents\XXXX_ComplianceRegulations.xlsxI:\projects\confluence\projects\documents\XXXX_vendorCloudStandardsPoliciesRegs.xlsx
我希望它:
I:\1992.xlsx
I:\projects\confluence\projects\documents\XXXX_ComplianceRegulations.xlsx
I:\projects\confluence\projects\documents\XXXX_vendorCloudStandardsPoliciesRegs.xlsx
我不知道是怎麼回事錯在這裏。它應該將其添加到下一行,而不是將其追加到字符串的末尾。
注意:你也可以做'$ holdArray = @()' – schnipdip
@schnipdip也是一個選項。在那裏,你告訴PowerShell在填充之前創建一個空數組。同樣有效的是:'$ holdArray = @($ test.path)':-) – gms0ulman
當我使用for循環時,我喜歡'$ holdArray = @()',因爲這樣我才輸出到數組中。我在視覺上更容易理解正在發生的事情。所以如果出現問題,我可以理解問題所在。這只是忘了添加該部分hahahaha – schnipdip