我的 Eclipse 和 Maven 开发环境使用不同的目录结构,因此,如果我将结果导出到 JAR / ZIP 文件中,则会包含所需的目录,但目录位置错误。
有没有办法在 Windows 上的 PowerShell 脚本中移动 ZIP 文件中的目录?
如果相关,您可以假设系统上安装了 7-Zip。
有各种 PowerShell 模块,例如 7Zip4Powershell,可以帮助您更轻松地从 PowerShell 使用 7Zip 等库。
但是,仅使用 7Zip 即可轻松移动 Zip 文件中的单个文件。这是一个例子:
& "T:\Program Files\7-Zip\7z.exe" rn MyWebApp.zip DirOne\SomeClass.jar DirTwo\SomeClass.jar
上述命令会将 SomeClass.jar 从 DirOne 目录移动到 MyWebApp.zip 内的 DirTwo 目录。
当然,如果您需要移动多个文件,那么您可以使用 7Zip4Powershell 获取要移动的文件名列表:
Install-Module 7Zip4Powershell
Import-Module 7Zip4Powershell
Get-7Zip MyWebApp.zip | ? FileName -match '^DirOne\\' | % {
& "T:\Program Files\7-Zip\7z.exe" rn MyWebApp.zip $_.FileName ($_.Filename -replace "DirOne", "DirTwo")
}