使用 powershell 复制粘贴文件夹,但常规文件资源管理器 GUI 弹出窗口显示进度?

使用 powershell 复制粘贴文件夹,但常规文件资源管理器 GUI 弹出窗口显示进度?

是否可以使用 powershell 自动将文件夹复制到指定目的地,但不是使用 robocopy 或 copy-item,因为没有 GUI 进度弹出窗口,而是以某种方式模拟文件资源管理器中的正常复制并调出如下所示的进度窗口?

文件资源管理器复制窗口如图所示

为什么?:我只是更喜欢文件资源管理器的 GUI。与任何类型的 powershell 进度条相比,ETA、图表和美观度都更胜一筹。这将是一个面向用户的脚本,所以我希望它不会成为一种令人生畏的 CLI 体验。

只是想知道这是否可能,因为从用户体验 (UX) 方面来说它会更漂亮、更熟悉。

答案1

根据上面评论中给出的链接,使用标准 Windows Shell 复制的 Powershell 命令应如下所示

$source = "PATH:\TO\SOURCE"
$dest = "PATH:\TO\DESTFOLDER"

$objShell = New-Object -ComObject "Shell.Application"
$objFolder = $objShell.NameSpace($dest) 
$objFolder.CopyHere($source)

您可以参考评论中的链接来查看可以传递给 CopyHere 函数的选项。例如,要复制文件并自动“全部是”,您可以像这样传递它

$objFolder.CopyHere($source, 16)

相关内容