繁体   English   中英

Windows Powershell相当于bash命令

[英]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中没有内置的zipunzip命令(至少不是在PowerShell v5之前)。 您可以使用GnuWin32中可用的那些命令的Windows端口,用另一个外部命令(例如7-zip)替换命令,或者编写函数以利用API方法来处理zip存档(例如,参见此问题 )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM