[英]Windows Powershell equivalent of bash command
我正在尝试将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-Object
过滤器模拟find
命令的过滤器参数。 在您的情况下,例如:
Get-ChildItem . -Recurse | Where-Object { -not $_.PSIsContainer }
在PowerShell v3或更高版本中,您还可以单独使用Get-ChildItem
来执行以下特定语句:
Get-ChildItem . -Recurse -File
通常,您可以使用ForEach-Object
循环来代替xargs
(如果下游命令本身无法从管道中读取)。
但是,Windows中没有内置的zip
或unzip
命令(至少不是在PowerShell v5之前)。 您可以使用GnuWin32中可用的那些命令的Windows端口,用另一个外部命令(例如7-zip)替换命令,或者编写函数以利用API方法来处理zip存档(例如,参见此问题 )。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.