windows - 在 Windows Sever 2016 上使用本机 tar PowerShell cmdlet
问题描述
我有一个使用 PowerShell 5.1.17763.771 在 Windows 10 设备上编写的 PowerShell 脚本。它获取 .tgz 文件的路径,将其解压缩,并将提取的文件夹放在另一个路径中。tar
它使用一两年前添加到 PowerShell的内置cmdlet 来执行此操作。它在我的机器上完全按照预期工作。
在 Windows Server 2016 上运行相同的脚本时,tar
无法识别 cmdlet。此服务器上运行的 PowerShell 版本是 5.1.14393.3471。我已经在服务器上运行了所有可以执行的 Windows 更新。如何让本机tar
cmdlet 在 Windows Server 2016 上运行?是否有我缺少的 PowerShell 更新?我可以安装包含tar
cmdlet 的 Microsoft 创建的模块吗?
解决方案
tar
是一个外部可执行文件,tar.exe
而不是 cmdlet,虽然 PowerShell 可以调用它,但它与 PowerShell 无关。
在 Windows 10(自版本 1803 起)上,可以在C:\WINDOWS\system32\tar.exe
.
tar.exe
这篇2017年的博客文章宣布了curl.exe
容器的可用性。 tar.exe
从libarchive源代码编译(BSD 许可);适用于 Windows 的构建说明。
在 Windows Server 上,它似乎tar.exe
并且curl.exe
首先包含在 Windows Server 2019 中。
推荐阅读
- reactjs - 具有直接子级的组件的 CSSTransition nodeRef
- c++ - 为什么我们不能在“if”和“while”中对相同的情况(输入“Q”/“q”)使用相同的逻辑运算符(AND/OR)?
- java - 服务访问配额 Liferay 7.3
- python - 应该如何使用 Pool 初始值设定项参数
- reactjs - 使用状态更改导入的 SVG 组件颜色
- scala - 为 Play Framework Api 创建服务代理
- android - HERE Android SDK(高级版)错误:MISSING_LIBRARIES:缺少本机库:MAPSJNI
- swift - URLSession dataTaskPublisher 重试为 MJPEG 流
- json - 如何从 Flux 获取 JSON 格式
在 SpringBoot 控制器中? - javascript - 是否可以使此删除按钮和输入表单起作用?