Compendio de Windows Powershell del command bash

Estoy tratando de usar git para files de Excel. Sin embargo, tengo que descomprimir y comprimir los componentes juntos más adelante para lograr esto. Para esta tarea, escribí un script que resultó fácil en MacOS. Como yo no estoy usando Windows, no sé cómo convertir completamente este script en commands de Windows Power Shell. ¿Cómo puedo ejecutar el siguiente command bash en Windows Power Shell?

find . -type f | xargs zip ../../MyExcelFile.xlsm 

Lo que aún no he probado, es descomprimir el file. En bash hay el siguiente command:

 unzip MyExcelFile.xlsm -d XML/MyExcelFileXML 

¿Hace lo mismo en Windows Power Shell o cómo puedo convertir eso?

¡Gracias por tu ayuda!

PowerShell no tiene un equivalente exacto para find . Normalmente usaría Get-ChildItem y emularía los parameters de filter del command find con un filter Where-Object . En su caso, por ejemplo, como este:

 Get-ChildItem . -Recurse | Where-Object { -not $_.PSIsContainer } 

En PowerShell v3 o posterior también podría hacer esta statement particular con Get-ChildItem solo:

 Get-ChildItem . -Recurse -File 

En lugar de xargs normalmente usaría un bucle ForEach-Object (si el command downstream no puede leer desde la tubería por sí mismo).

Sin embargo, no existe un command integrado zip o unzip en Windows (al less no antes de PowerShell v5). Puede usar los puertos de Windows de esos commands disponibles desde GnuWin32 , replace los commands con otro command externo como 7-zip , o escribir funciones para utilizar los methods API para manejar files comprimidos (vea por ejemplo esta pregunta ).