正規表現に一致するファイルの名前を変更する groovy スクリプトがあります。この方法で起動します
C:\>groovy rename test.* test.txt
それは正常に動作します。
しかし、この正規表現を渡そうとすると:
C:\>groovy rename test\.(.*) $1_TEST_$1
コマンド ラインは次のメッセージを返します。
The syntax of the command is incorrect
それは私のスクリプトではありません- cmd
これを書いているのはそれです。私のスクリプトは決して実行されません。引数(正規表現)を引用符で囲んだ場合でも発生します。
Q:なぜですか? 正規表現をパラメーターとして渡すにはどうすればよいですか?
何が起こっているのか誰にもわからないので、もっと簡単な例を作りました:
test.groovy
println args[0]
私はそれを実行します:groovy test Bob
そして、出力は、驚くべきことではありませんBob
. しかし、例えば実行するgroovy test .*
と、 が得られThe syntax of the command is incorrect
ます。私がそれを実行するとgroovy test *
、pdfファイルの名前が出てきます(たまたま同じディレクトリにありますtest.groovy
)