批处理文件找到文件,如果它存在与特定扩展名,然后将其复制并粘贴到同一个文件夹中重命名

在我的项目中,我想添加本地语言的新资源文件。项目中已经有一些资源文件分布在多个文件夹中。现在我想要一个这样的批处理文件,它以递归方式运行于所有子文件夹中,用于查找名称类似blabla.hi-IN.resx的文件(例如:index.hi-IN.resx,home.hi-IN.resx等)即包含'hi-IN'的文件名。如果它存在于一个文件夹中,则将其复制并粘贴到重命名为blabla.mr-IN.resx的相同文件夹中(例如:index.mr-IN.resx,home.mr-IN.resx)。批处理文件找到文件,如果它存在与特定扩展名,然后将其复制并粘贴到同一个文件夹中重命名


for-each(var folder in folders) 

{

if(Exist(*G.hi-IN.resx))

{

Copy();

Paste();

rename(name);

}

}

void rename(string name)

{

remove hi-IN;

append mr-IN;

}

回答:

你的任务可以用我的小PowerShell脚本来完成。

这将提取所有文件高新IN.resx

$files = gci -Filter *hi-IN.resx -Recurse 

这是为了准备一个正则表达式对象,它可删除高新IN.resx在文件名结尾递归。

$reg = [regex]::new("hi-IN.resx") 

这反复遍历在第一步找到的所有文件。为每个文件执行一个副本。该目标文件名使用制备步骤2

$files | foreach { Copy-Item $_.FullName ($r.Replace($_.FullName,"")+"mr-IN.resx") } 

编写正则表达式的对象这是一个完整的脚本:

$files = gci -Filter *hi-IN.resx -Recurse 

$reg = [regex]::new("hi-IN.resx")

$files | foreach { Copy-Item $_.FullName ($r.Replace($_.FullName,"")+"mr-IN.resx") }

以上是 批处理文件找到文件,如果它存在与特定扩展名,然后将其复制并粘贴到同一个文件夹中重命名 的全部内容, 来源链接: utcz.com/qa/260961.html

回到顶部