Comportamento estranho do Windows CMD ao executar groovy

Eu tenho um script groovy que renomeia arquivos que correspondem a um regex Eu inicio assim

C:\>groovy rename test.* test.txt

Funciona bem.

Mas quando tento passar esse regex:

C:\>groovy rename test\.(.*) $1_TEST_$1

a linha de comando retorna uma mensagem:

The syntax of the command is incorrect

e não é meu roteiro - écmd que escreve isso. Meu script nunca é executado. Isso também acontece mesmo quando eu envolvo os argumentos (regex) entre aspas.

Q: Por quê? Como posso passar qualquer regex como param?

Como ninguém consegue descobrir o que está acontecendo, eu fiz um exemplo ainda mais simples:

test.groovy

println args[0]

Eu corro:groovy test Bob e a saída é, não surpreendentemente,Bob. Mas quando eu corrogroovy test .* eu receboThe syntax of the command is incorrect. Quando eu corrogroovy test * então um nome de um arquivo pdf sai (que por acaso está no mesmo diretório quetest.groovy)

questionAnswers(2)

yourAnswerToTheQuestion