我正在尝试为Jenkins库编写一些代码。 我写了以下几行:
steps.println 'Destination Path = ' + target_path
def file = new File(target_path)
steps.println 'target file name: ' + file.getName()
def folder = file.getAbsoluteFile().getParentFile()
steps.println 'target file path: ' + folder.getName()
folder.mkdirs()
但是执行此代码后,我会得到这些结果
Destination Path = files/docs/My File Name.pdf
[Pipeline] echo
target file name: My File Name.pdf
[Pipeline] echo
target file path: docs
我发现的所有内容都表明,getParentFile()应该返回除最后一部分(文件名)以外的所有路径,但显然在这种情况下不这样做。它只是返回下一个文件。
我还看到但没有在此代码示例中表示getAbsoluteFile()方法只是在整个路径前加一个斜杠。由于这是在詹金斯(Jenkins)下运行的,所以我知道它前面至少应该有一个工作区路径,但我什么也没得到。
我以为文件名中的空格可能是个问题,但是即使我尝试不使用空格也能得到相同的结果。
有人可以帮我解决我做错的事情或错过的事情吗?