我有他们的扩展名不同的文件列表,我想知道如何通过使用批处理文件我可以在下面修改?
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。存在重复的文件名,或找不到该文件。
答案 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"