На самом деле, существует однострочный эквивалент, который создает zip-архивы, и есть даже однострочный для создания точного совпадения, то есть tar-файл. Первое место, где вы должны искать такую библиотечную функцию - это PowerShell Community Extensions , предоставляющее множество высококачественных расширений библиотеки для PowerShell. К сожалению, веб-поиск определенного элемента, например вашей функции создания zip-файла, скорее всего , а не приведет к чему-либо, потому что нигде на сайте или в документации они не содержат список предоставленных командлетов и функций! Чтобы узнать, нужно ли установить библиотеку, выполните help about_pscx
. Просматривая это, вы найдете то, что относится к вашему вопросу:
Write-Zip
Create ZIP format archive files from pipline or parameter input.
Write-GZip
Create GNU ZIP (GZIP) format files from pipeline or parameter input.
Write-Tar
Create Tape Archive (TAR) format files from pipeline or parameter input.
И вот, из их встроенных примеров, как вы можете их использовать:
PS> dir c:\logs\ -rec -inc *.log | write-zip -level 9 -removeoriginal
PS> dir c:\logs\ -rec -inc *.log | write-tar -output logs.tar | write-gzip -level 9 | move-item c:\archived_logs\