gpt4 book ai didi

grails - 如何在Groovy中列出虚拟(替代)磁盘中的文件?

转载 作者:行者123 更新时间:2023-12-02 14:29:38 25 4
gpt4 key购买 nike

我喜欢时髦。这是一个非常强大的脚本,我们到处都使用它。最近在Jenkins服务器上,我们试图获取由subst命令创建的虚拟驱动器上的某些文件。问题是,groovy似乎不支持虚拟驱动器,但是我没有对此找到任何确认。这是真的吗,有什么解决方法吗?

这是我们使用的示例代码:

import groovy.io.FileType

def list = []
//the original file path for T: is C:\Users\MyUser\workspace\MyProject\src\test\data
def dir = new File("T:" + "\\")
dir.eachFile (FileType.FILES) { file ->
list << file
}

list.each{
println "${it}"
}

我们得到的结果是:

[EnvInject] - Evaluating the Groovy script content [EnvInject] - [ERROR] - Problems occurs on injecting env vars defined in the build wrapper: org.jenkinsci.lib.envinject.EnvInjectException: Failed to evaluate the script. java.io.FileNotFoundException: T:. See system log for more info



任何帮助表示赞赏。

最佳答案

我自己找到了答案,但是@Hugues Moreau 9的输入才引导我找到答案。

这是一个权限问题。 Jenkins在我的默认帐户下运行,但是问题是由Apache(httpd.exe)引起的。 httpd.exe作为系统帐户运行,并且没有访问T:的权限。我所做的是我从https://technet.microsoft.com/en-us/sysinternals/bb897553.aspx下载PSEXEC.EXE,并通过此工具以SYSTEM用户身份打开了命令行:

PSEXEC -i -s -d CMD

之后,我为SYSTEM用户创建一个替代目录T:。现在,Jenkins和Apache可以访问虚拟驱动器。

正如Hugues指出的那样,更精确的描述和问题在这里: https://stackoverflow.com/questions/182750/map-a-network-drive-to-be-used-by-a-service

关于grails - 如何在Groovy中列出虚拟(替代)磁盘中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43885220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com