我有一个Groovy脚本,可以重命名与正则表达式匹配的文件。我是这样启动它的:
C:\>groovy rename test.* test.txt
它效果很好。
但是当我尝试通过这个正则表达式时:
C:\>groovy rename test\.(.*) $1_TEST_$1
命令行返回了以下信息:
命令语法不正确
这不是我的脚本,而是 cmd
写的。即使我将参数(正则表达式)用引号括起来,它也会发生这种情况。
问:为什么?我该如何传递任何正则表达式作为参数?
由于没有人能够弄清楚发生了什么,因此我制作了一个更简单的示例: test.groovy
println args[0]
我运行它:groovy test Bob
,输出是Bob
,这没什么意外的。
但是当我运行例如 groovy test .*
时,会出现The syntax of the command is incorrect
的错误。当我运行 groovy test *
时,输出的是同一个目录下的一个pdf文件名(恰好在test.groovy
文件所在的目录下)。