我已经列出了它们的扩展名不同的文件列表,我想知道如何使用批处理文件进行以下修改?
BPG_ANNUITY .pkb -应重命名为-包主体 BPG_ANNUIT Y .sql BPG_ANNUITY .pks -应重命名为-->PACKAGEE 29 BPG_ANNUITY E 110..sqlE 211
我试着用下面的注释重命名这些文件,但是它不起作用。
ren *.pks "PACKAGE *.sql"
ren *.pkb "PACKAGE body *.sql"我收到以下错误:
存在重复的文件名,否则无法找到该文件。
你介意帮帮我吗?我使用的是windows 7 64位。
发布于 2015-04-24 03:40:17
您不能使用通配符来重命名这样的文件。但是,您可以处理文件列表并逐一重命名它们。
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文件。
发布于 2015-04-24 19:13:33
您可以使用正则表达式通过我的JREN.BAT实用程序方便地重命名您的文件--这是一个混合的JScript/批处理脚本,从XP开始在任何Windows机器上本地运行。
call jren "(.*\.)pks$" "PACKAGE $1sql"
call jren "(.*\.)pkb$" "PACKAGE BODY $1sql"https://stackoverflow.com/questions/29838201
复制相似问题