I want to copy text files and only text files from src/
to dst/
groovy:000> \"cp src/*.txt dst/\".execute().text ===> groovy:000> <
Wildcard expansion is performed by the shell, not by cp (or groovy). Your first example is trying to copy a file named *. You could make your command "sh -c 'cp ...'"
Thanks tedu for getting me half way there.
I believe the reason that his solution didn't work was because of an 'escaping' issue.
For instance...
"sh -c 'ls'".execute()
works. But...
"sh -c 'ls '".execute()
does not.
There is probably a way to escape it properly in line there but the workaround I'm using is to pass a string array to Runtime.getRuntime().exec
command = ["sh", "-c", "cp src/*.txt dst/"] Runtime.getRuntime().exec((String[]) command.toArray())
works beautifully!