循环命令移动多个文件

时间:2019-05-23 00:28:32

标签: powershell loops foreach batch-processing file-move

我在一个文件夹(C:\ webfix)中有多个文件,该文件夹有23个项目,包括随机文件和文件夹。

我有70多个文件夹需要将这些文件推送到其中。每个文件夹如下所示: C:\ saas \ CU01313 \ wwwroot \

C:\ saas \ CU01316 \ wwwroot \

C:\ saas \ CU08453 \ wwwroot \

等等

目的地是相同的,减去CU0 *部分。

我希望能够将23个文件/文件夹大规模移动到每个目标位置,但我仍无法弄清楚该怎么做。

经过研究,我发现使用“ foreach”循环命令可能会更好?

我一直试图在Powershell中实现这一目标。

我尝试了几件事,可以在下面显示代码。 第一个“脚本”使用Involk-Expression命令,如果我一个接一个地执行它,就可以使用它。 我还没弄清楚如何“通配符”那个\ CU0 * \部分。

第一件事:

Invoke-Expression -Command "robocopy C:\webfix\ 'C:\saas\TT08931\wwwroot\' /e /b /COPYALL /MT:8 /r:2 /log:C:\log\log.txt "

如果有人可以帮助我,我将非常感激。 非常感谢你!

1 个答案:

答案 0 :(得分:0)

找出一种将所有CU0xxxx文件夹名称放入文本文件的方法。然后做这样的事情。

$folderlist = get-content C:\temp\Folderlist.txt

foreach ($folder in $folderlist)
{
    Copy-Item -Path  "C:\Webfix\*" -Destination "C:\saas\$folder\wwwroot\" -Recurse
}