簡體   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