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
)