Windows Powershell相当于bash命令

我正在尝试使用Git的Excel文件。 但是,我必须稍后解压缩组件,才能完成此操作。 为了这个任务,我写了一个脚本,在MacOS上变得很简单。 由于我自己没有使用Windows,因此我不知道如何将这个脚本完全转换成Windows Power Shell命令。 如何在Windows Power Shell中执行以下bash命令?

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

我还没有试用,正在解压缩文件。 在bash中有以下命令:

 unzip MyExcelFile.xlsm -d XML/MyExcelFileXML 

它是否在Windows Power Shell中执行相同的操作,或者如何将其转换?

谢谢你的帮助!

PowerShell没有一个完全相同的find 。 通常情况下,您将使用Get-ChildItem并使用Where-Objectfilter来模拟find命令的filter参数。 在你的情况下,例如像这样:

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

在PowerShell v3或更高版本中,您也可以单独使用Get-ChildItem来执行此特定语句:

 Get-ChildItem . -Recurse -File 

而不是xargs你通常会使用ForEach-Object循环(如果下游命令ForEach-Object读取pipe道)。

在Windows中没有内置zipunzip命令,但是(至less在PowerShell v5之前)。 您可以使用GnuWin32提供的这些命令的Windows端口,使用另一个外部命令(例如7-zip)replace命令,或者编写函数以利用API方法来处理zip归档(请参阅此问题的实例)。