Comportamiento extraño de las ventanas CMD al ejecutar groovy

Tengo un script maravilloso que cambia el nombre de los archivos que coinciden con una expresión regular. Lo inicio de esta manera.

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

Funciona bien.

Pero cuando intento pasar esta expresión regular:

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

la línea de comando devuelve un mensaje:

The syntax of the command is incorrect

y no es mi guión - escmd que escribe esto Mi script nunca se ejecuta. También sucede incluso cuando envuelvo los argumentos (expresiones regulares) entre comillas.

Q: ¿Por qué? ¿Cómo puedo pasar cualquier expresión regular como param?

Como nadie puede entender lo que está pasando, he hecho un ejemplo aún más simple:

test.groovy

println args[0]

Lo corrogroovy test Bob y la salida es, no sorprendentemente,Bob. Pero cuando corro por ej.groovy test .* yo obtengoThe syntax of the command is incorrect. Cuando lo corrogroovy test * luego aparece el nombre de un archivo pdf (que está en el mismo directorio quetest.groovy)

Respuestas a la pregunta(2)

Su respuesta a la pregunta