我将自动生成的内容发布到随机语言文件夹。每个文件夹包含一个.jpg文件。
.jpg文件的名称总是类似于file_1_EN.jpg或file_2_EN.jpg。
我想要做的是将文件名中的_EN替换为基于文件发布的文件夹名称的特定文本。
所以,例如,当我将我的内容发布到.. \ German \我希望_EN被_DE替换,但是当我将我的内容发布到.. \ French时我希望_EN被_FR替换。
我环顾四周,但无法就这个具体问题找到答案。
非常感谢提前!
答案 0 :(得分:0)
我建议您将VBScript用于此任务而不是批处理文件,这是执行此任务的代码。
代码的一部分是一个函数,它将返回文件夹名称的缩写,我包含你在问题中发布的例子,你需要在函数中添加你的其他文件夹名称&每个文件夹名称的返回缩写。
将c:\NameOfDirOfAllFolders
替换为所有这些文件夹所在目录的实际路径。
Dim FSO, FS, Fldr, Fl, Abbrev
Set FSO = CreateObject("scripting.FileSystemObject")
Set FS = FSO.GetFolder("c:\NameOfDirOfAllFolders").SubFolders
For Each Fldr In FS
Abbrev = GetAbbrev(Fldr.Name)
For Each Fl In Fldr.Files
Fl.Name = Replace(Fl.Name, "_EN", "_" & Abbrev)
Next
Next
Function GetAbbrev(FolderName)
Select Case FolderName
Case "English"
GetAbbrev = "EN"
Case "German"
GetAbbrev = "DE"
Case "French"
GetAbbrev = "FR"
Case Else
GetAbbrev = "UNKNOWN"
End Select
End Function