PowerShell,如何复制带有总计的文件并登录文件

问题描述 投票:0回答:1

在 PowerShell 中,我使用以下命令复制所有目录内容,包括子目录和文件。

copy-item -Path $source_folder -destination $onedrive_folder -force -recurse

如何编写所有复制的文件和子目录的列表?

我需要写一个

for
声明吗,正如我在一些帖子中读到的那样。我搜索了一下,PowerShell 中的一些帖子为所有使用计数器复制的文件编写了
for
语句。

powershell for-loop
1个回答
0
投票

您可以使用参数

-PassThru
基本上启用
Copy-Item
的输出:它现在将输出每个新复制项目的对象表示。
然后您可以通过
Select-Object
管道将其剥离到仅其完整路径。
然后通过管道将其传输到
Add-Content
,正如名称所示,它将把接收到的值附加到您决定使用日志文件的文件中。

Copy-Item -Path $SourceDirectory -Destination $DestinationDirectory -Recurse -Force -PassThru |
    Select-Object -ExpandProperty FullName |
    Add-Content -Path $logFile

如果您需要更多\不同的信息而不仅仅是完整路径,您可以使用计算属性。
如果您需要许多属性,请使用

Export-Csv
进行评估

© www.soinside.com 2019 - 2024. All rights reserved.