[英]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.