我正在尝试将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中执行相同操作或如何转换它?
感谢您的帮助!
答案 0 :(得分:1)
PowerShell没有与find
完全等效的内容。通常,您使用Get-ChildItem
并使用find
过滤器模拟Where-Object
命令的过滤器参数。在你的情况下,例如:
Get-ChildItem . -Recurse | Where-Object { -not $_.PSIsContainer }
在PowerShell v3或更高版本中,您也可以单独使用Get-ChildItem
执行此特定声明:
Get-ChildItem . -Recurse -File
而不是xargs
您通常使用ForEach-Object
循环(如果下游命令无法自行从管道读取)。
Windows中没有内置zip
或unzip
命令(至少在PowerShell v5之前)。您可以使用GnuWin32中提供的那些命令的Windows端口,使用其他外部命令(如7-zip)替换命令,或编写函数以使用API方法处理zip存档(请参阅参考{{ 3}})。