批处理文件找到文件,如果它存在与特定扩展名,然后将其复制并粘贴到同一个文件夹中重命名
在我的项目中,我想添加本地语言的新资源文件。项目中已经有一些资源文件分布在多个文件夹中。现在我想要一个这样的批处理文件,它以递归方式运行于所有子文件夹中,用于查找名称类似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