Java 创建脚本以重新启动主机名位于文本文件中的计算机

Java 创建脚本以重新启动主机名位于文本文件中的计算机,java,arrays,shell,jenkins,groovy,Java,Arrays,Shell,Jenkins,Groovy,我试图创建一个脚本来启动一个命令,以重新启动主机名位于.txt文件中的机器。我在Jenkins上运行它,因此理想情况下,它应该在Groovy中运行,但是shell脚本可以工作 我曾尝试使用Groovy创建此代码。我的目标是找到.txt文件并对其应用此CMD命令 String fileContent = new File("C:/Users/omr/Documents/Temp/test.txt").text println fileContent "cmd /c shutdown -r -t

我试图创建一个脚本来启动一个命令,以重新启动主机名位于.txt文件中的机器。我在Jenkins上运行它,因此理想情况下,它应该在Groovy中运行,但是shell脚本可以工作

我曾尝试使用Groovy创建此代码。我的目标是找到.txt文件并对其应用此CMD命令

String fileContent = new File("C:/Users/omr/Documents/Temp/test.txt").text
println fileContent

"cmd /c shutdown -r -t 0".execute(fileContent)

到目前为止,我没有任何运气,我已经研究了很多如何从Groovy执行cmd命令,它们都是state.execute(),但是我觉得这不对。

如果需要在Windows上执行,请尝试或实用程序重新启动远程计算机。和一个批处理文件,用于循环浏览主机名:

@echo关闭
对于(test.txt)do中的/F“tokens=*”%%A(
回声psshutdown-r-t0\\%%A
)

我不认为这里真的需要Java/Groovy,可能只是作为shell脚本的包装器。

要远程运行,可以使用。 要在groovy中读取测试文件,有以下两种解决方案:

String fileContents = new File('/path/to/file').text
如果需要指定字符编码,请使用以下选项:

String fileContents = new File('/path/to/file').getText('UTF-8')
如果您需要逐行读取文件

File file1 = new File("C:\path\to\file\myTestfile.txt");
for (def i=0;i<=30;i++) // specify how many line need to read eg.. 30
{
 log.info file1.readLines().get(i)

}

谢谢尼基塔,是的,这很简单,我只是把它包在一个包装上。我想如果我想在bash中为linux脚本做这件事,我的想法也是一样的。从文件中读取并放入变量,然后对变量执行重新启动命令。。。
FOR /F %i IN (file.txt) DO @echo %i