2017-12-18 344 views
1

在我的項目中,我想添加本地語言的新資源文件。項目中已經有一些資源文件分佈在多個文件夾中。現在我想要一個這樣的批處理文件,它以遞歸方式運行於所有子文件夾中,用於查找名稱類似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; 
    } 
+0

我爲你提供一個解決方案。請參閱答案中的powershell腳本。如果腳本符合您的期望,請提高我的答案。 –

回答

0

你的任務可以用我的小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") } 
相關問題