在带有BRC 32重命名实用程序的Windows bat文件中使用正则表达式

时间:2013-05-07 16:53:45

标签: regex batch-file

我正在使用Windows XP并编写了一个简单的bat文件,该文件从网站下载并从网站下载XML然后重命名xml文件,因此它们都具有.zip扩展名,但由于某种原因它不会重命名文件。以下是使用BRC32无效的代码行,它似乎无法在Windows中执行REGEXP。

.\software\BRC32 /DIR: /REGEXP:.*%22(.*)%22:\1.zip /EXECUTE

File Name:  download@down_stds=all&down_typ=results&cond=%22Aicardi Syndrome%22

Desired result: download@down_stds=all&down_typ=results&cond=%22Aicardi Syndrome%.zip

我正在使用同样使用pcre.dll版本3.9的BRC32.exe实用程序在bat文件中执行REGEXP,但由于某种原因,我只是收到一条错误消息,指出该文件无法重命名。有没有人对这个问题有任何见解>?

3 个答案:

答案 0 :(得分:1)

在脚本中将'%'更改为'%%'修复了我的问题

答案 1 :(得分:0)

由于您没有说出BRC32的语法,我会猜测/REGEXP:.*%22(.*)%22:\1.zip部分。

如果解析器不反对%22(,*)%,则可能会解析为[nothing]。

如果您真的想将%作为参数字符,请尝试将%转换为%以后%转义{。}}。

但是,对我来说,22看起来很像"。可能您可以将%22替换为" - 但如果不确切知道参数的含义,则很难建议。

."(.*)"\1.zip看起来也很奇怪......

答案 2 :(得分:0)

是的。添加另一个%符号修复它。该死的我觉得很蠢。