在 PowerShell 中,我使用以下命令复制所有目录内容,包括子目录和文件。
copy-item -Path $source_folder -destination $onedrive_folder -force -recurse
如何编写所有复制的文件和子目录的列表?
我需要写一个
for
声明吗,正如我在一些帖子中读到的那样。我搜索了一下,PowerShell 中的一些帖子为所有使用计数器复制的文件编写了 for
语句。
您可以使用参数
-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
进行评估