复制jar文件到本地文件夹

Copy jar files to local folder

我在一个文件夹中有一些由 Maven 生成的 JAR 文件。

我尝试使用以下命令将 仅 JAR 文件 复制到 PowerShell 的另一个路径:

Copy-Item -Path C:\jenkins\workspace\maven-test\target\*.jar -Destination C:\jenkins\extlib -Recurse

但结果是一个名为 extlib 的文件,在 C:\Jenkins 中没有扩展名。

怎么了?

extlib 尚未作为 C:\Jenkins 的子文件夹存在并且您指定了不带尾随反斜杠的目标路径时,PowerShell 会将所有文件复制到目标 file C:\Jenkins\extlib,用下一个文件替换每个复制的文件。

如果文件夹不存在,在目标路径末尾添加反斜杠将使 PowerShell 抛出错误:

$src = 'C:\jenkins\workspace\maven-test\target'
$dst = 'C:\jenkins\extlib'

Copy-Item -Path "${src}\*.jar" -Destination "${dst}\" -Recurse

要完全避免此问题,请在复制文件之前创建一个丢失的文件夹:

$src = 'C:\jenkins\workspace\maven-test\target'
$dst = 'C:\jenkins\extlib'

if (-not (Test-Path -LiteralPath $dst -PathType Container)) {
    New-Item -Type Directory $dst | Out-Null
}
Copy-Item -Path "${src}\*.jar" -Destination "${dst}\" -Recurse