如何在PowerShell中使用Folder.CopyHere覆盖现有项目?

Bru*_*227 33 powershell

我运行以下内容进行解压缩并希望覆盖当前文件(如果它们存在但Microsoft解决方案似乎不起作用).我还没有找到任何说它有效的东西,所以有没有选择"是对所有人"选项?

$zipPackage = (new-object -com shell.application).NameSpace($zipfilename)
$destinationFolder = (new-object -com shell.application).NameSpace($destination)
$destinationFolder.CopyHere($zipPackage.Items(),16)
Run Code Online (Sandbox Code Playgroud)

Pet*_*ter 52

如果你想要它覆盖并沉默改变0x100x14(docs).

$destinationFolder.CopyHere($zipPackage.Items(), 0x14) 
Run Code Online (Sandbox Code Playgroud)

  • 只是抬头,特殊的Fonts文件夹不支持CopyHere方法中传递的重载. (7认同)
  • 我来到这里是为了fonts文件夹:| (3认同)
  • 这些标志在将 zip 文件提取到文件夹时起作用,这就是 OP 在他的示例中所做的事情,但在创建 zip 文件时似乎被忽略:( (2认同)
  • @FoxDeploy,感谢您对 Fonts 文件夹的提醒。 (2认同)

Bas*_*ink 1

我对这个问题的务实补救措施是使用7-Zip之类的东西。它有一个很好的命令行界面,可以在 PowerShell 中轻松使用。