使用嵌套的 foreach 将用户文件夹复制到新文件夹
Copy users folder to new folder using nested foreach
我正在尝试使用 robocopy
将 c:\users 文件夹复制到新目标。我的嵌套 foreach
语句有问题:
$users = @(
'jack'
'Jon'
)
$news = @(
'jacknew'
'JonNew'
)
foreach ($userx in $users) {
foreach ($new in $news) {
$source = "c:\users$($userx)"
$destination = "d:\users$($new)"
robocopy $source $destination /MIR /LOG:c:\robocopy.txt /NP
}
}
它将两个文件夹复制到 d:\jacknew 文件夹。
你有两个foreach
循环,所以你将执行robocopy
4次:
robocopy c:\users\jack d:\users\jacknew /MIR /LOG:c:\robocopy.txt /NP
robocopy c:\users\jack d:\users\jonnew /MIR /LOG:c:\robocopy.txt /NP
robocopy c:\users\Jon d:\users\jacknew /MIR /LOG:c:\robocopy.txt /NP
robocopy c:\users\Jon d:\users\jonnew /MIR /LOG:c:\robocopy.txt /NP
如果要将 jack
和 jon
复制到相应的文件夹 jacknew
和 jonnew
,您可以使用单个 foreach
循环并简单地附加复制时的 new
;例如:
$users = @(
'jack'
'Jon'
)
foreach ( $user in $users ) {
$source = "c:\users$($user)"
$destination = "d:\users$($user)new"
robocopy $source $destination /MIR /LOG:c:\robocopy.txt /NP
}
我正在尝试使用 robocopy
将 c:\users 文件夹复制到新目标。我的嵌套 foreach
语句有问题:
$users = @(
'jack'
'Jon'
)
$news = @(
'jacknew'
'JonNew'
)
foreach ($userx in $users) {
foreach ($new in $news) {
$source = "c:\users$($userx)"
$destination = "d:\users$($new)"
robocopy $source $destination /MIR /LOG:c:\robocopy.txt /NP
}
}
它将两个文件夹复制到 d:\jacknew 文件夹。
你有两个foreach
循环,所以你将执行robocopy
4次:
robocopy c:\users\jack d:\users\jacknew /MIR /LOG:c:\robocopy.txt /NP
robocopy c:\users\jack d:\users\jonnew /MIR /LOG:c:\robocopy.txt /NP
robocopy c:\users\Jon d:\users\jacknew /MIR /LOG:c:\robocopy.txt /NP
robocopy c:\users\Jon d:\users\jonnew /MIR /LOG:c:\robocopy.txt /NP
如果要将 jack
和 jon
复制到相应的文件夹 jacknew
和 jonnew
,您可以使用单个 foreach
循环并简单地附加复制时的 new
;例如:
$users = @(
'jack'
'Jon'
)
foreach ( $user in $users ) {
$source = "c:\users$($user)"
$destination = "d:\users$($user)new"
robocopy $source $destination /MIR /LOG:c:\robocopy.txt /NP
}