如何重命名文件名和更改文件扩展名

时间:2015-04-24 03:25:58

标签: batch-file

我有他们的扩展名不同的文件列表,我想知道如何通过使用批处理文件我可以在下面修改?

BPG_ANNUITY .pkb ---应重命名为----> PACKAGE BODY BPG_ANNUIT Y .sql BPG_ANNUITY .pks ---应重命名为----> PACKAGE BPG_ANNUITY .sql

我尝试通过以下注释重命名文件,但它无效。

ren *.pks "PACKAGE *.sql"
ren *.pkb "PACKAGE body *.sql"

我收到以下错误:

  

存在重复的文件名,或找不到该文件。

你能介意帮帮我吗?我使用的是Windows 7,64bit。

2 个答案:

答案 0 :(得分:1)

您不能使用通配符重命名这样的文件。但是,您可以处理文件列表并逐个重命名。

for /f %%A in ('dir /b *.pks') do ren %%A "PACKAGE %%~nA.sql"
for /f %%A in ('dir /b *.pkb') do ren %%A "PACKAGE BODY %%~nA.sql"

第一个命令将获取当前目录中所有.pks文件的名称列表(/b选项仅返回文件名)。 %% ~nA的~n部分将返回没有扩展名的文件名 - 在您的示例中,BPG_ANNUITY没有扩展名。然后ren命令获取旧文件名并将其更改为PACKAGE BPG_ANNUITY.sql,并继续使用目录中的其余.pks文件。

第二个命令的工作方式相同,但是使用.pkb文件。

答案 1 :(得分:0)

您可以使用正则表达式通过我的JREN.BAT实用程序方便地重命名您的文件 - 这是一个混合的JScript /批处理脚本,可以在任何Windows机器上从XP开始本地运行。

call jren "(.*\.)pks$" "PACKAGE $1sql"
call jren "(.*\.)pkb$" "PACKAGE BODY $1sql"