我想通过使用groovy执行xcopy命令来简单地复制文件

时间:2018-01-03 07:05:08

标签: groovy xcopy

我想复制一个源和目的地存储在变量中的文件。

element2

我收到错误作为无效参数。我使用def gitPath = 'C:\\demo1\\' def ServerPath= 'D:\\demo\\git1\\' def file = 'Sports/Badminton/Players/Saina.txt' def command = "xcopy /y $gitPath$file $ServerPath$file /Q" def copyManuscriptsCommandExecute =command.execute(); def cmcErr = new StringBuffer() copyManuscriptsCommandExecute.consumeProcessErrorStream(cmcErr) def copyManuscriptsCommandExecuteOutput=copyManuscriptsCommandExecute.text println "Copy Manuscripts Command Execution Output: "+copyManuscriptsCommandExecuteOutput println "Copy Manuscripts Command Execution Error: "+cmcErr.toString() 然后它工作正常。但是我从命令执行的输出中获取变量文件的值,所以我不能改变它。有没有办法来解决这个问题?

1 个答案:

答案 0 :(得分:0)

您需要将unix路径分隔符转换为类似\。

的窗口
 ...

 file = normalize(file)
 def command = "xcopy /y $gitPath$file $ServerPath$file /Q"
...
static String normalize(String s) {
    s.replaceAll('/', File.separator)
}

在使用从命令行读取的字符串之前,只需规范化分隔符。