我在一堆单独的文件夹中有大量同名文件。例如:
mods\Lady Knight\media\units\items\armor
mods\Paladin\media\units\items\armor
mods\Necromancer\media\units\items\armor
在这些文件夹中的每一个中都会有例如:
a_chest_magic_04a.dat
a_chest_magic_04b.dat
a_chest_magic_04c.dat
这些 .dat 文件实际上只是具有不同扩展名的 .txt 文件。在这些文件中的每一个中都有一堆文本行,这些文本行在不同文件夹中的同名文件中是相同的。因此,例如这些的前几行:
mods\Lady Knight\media\units\items\armor\a_chest_magic_04a.dat
mods\Paladin\media\units\items\armor\a_chest_magic_04a.dat
mods\Necromancer\media\units\items\armor\a_chest_magic_04a.dat
将完全相同,但在
mods\Lady Knight\media\units\items\armor\a_chest_magic_04a.dat mods\Lady Knight\media\units\items\armor\a_chest_magic_04b.dat
文本会有所不同。
但是,在每个文件的末尾都是这样的:
[WARDROBE]
<STRING>CLASS:DESTROYER
<STRING>TEXTURE:media/wardrobe/destroyer/dest_scale_chest.png
<STRING>MESH:media/wardrobe/destroyer/scale_set.mesh
<STRING>ICON:scalevest
[/WARDROBE]
[WARDROBE]
<STRING>CLASS:ALCHEMIST
<STRING>TEXTURE:media/wardrobe/alchemist/alchemist_hvyleather_chest.png
<STRING>MESH:media/wardrobe/alchemist/hvyleather_set.mesh
[/WARDROBE]
[WARDROBE]
<STRING>CLASS:VANQUISHER
<STRING>MESH:media/wardrobe/vanquisher/vanquisher_buckled.mesh
<STRING>TEXTURE:media/wardrobe/vanquisher/buckled_chest.png
<STRING>ICON:vanq_buckled_body
[/WARDROBE]
[WARDROBE]
<STRING>CLASS:LADY KNIGHT
<STRING>TEXTURE:media\wardrobe\ladyknight\buckled_chest.png
<STRING>MESH:media\wardrobe\ladyknight\vanquisher_buckled.mesh
<STRING>ICON:vanq_buckled_body
[/WARDROBE]
[/UNIT]
最后一组 [WARDROBE] 标记之间的行在文件的每个版本中都不同。我想要做的是将它们组合起来,以便在最后列出所有这些不同的 [WARDROBE] 组,因此a_chest_magic_04a.dat的最后一部分看起来像这样:
[WARDROBE]
<STRING>CLASS:DESTROYER
<STRING>TEXTURE:media/wardrobe/destroyer/dest_scale_chest.png
<STRING>MESH:media/wardrobe/destroyer/scale_set.mesh
<STRING>ICON:scalevest
[/WARDROBE]
[WARDROBE]
<STRING>CLASS:ALCHEMIST
<STRING>TEXTURE:media/wardrobe/alchemist/alchemist_hvyleather_chest.png
<STRING>MESH:media/wardrobe/alchemist/hvyleather_set.mesh
[/WARDROBE]
[WARDROBE]
<STRING>CLASS:VANQUISHER
<STRING>MESH:media/wardrobe/vanquisher/vanquisher_buckled.mesh
<STRING>TEXTURE:media/wardrobe/vanquisher/buckled_chest.png
<STRING>ICON:vanq_buckled_body
[/WARDROBE]
[WARDROBE]
<STRING>CLASS:LADY KNIGHT
<STRING>TEXTURE:media\wardrobe\ladyknight\buckled_chest.png
<STRING>MESH:media\wardrobe\ladyknight\vanquisher_buckled.mesh
<STRING>ICON:vanq_buckled_body
[/WARDROBE]
[WARDROBE]
<STRING>CLASS:PALADIN
<STRING>MESH:media/wardrobe/paladin/vanquisher_buckled.mesh
<STRING>TEXTURE:media/wardrobe/paladin/buckled_chest.png
<STRING>ICON:paladin_buckled_body
[/WARDROBE]
[WARDROBE]
<STRING>CLASS:NECROMANCER
<STRING>TEXTURE:media/wardrobe/alchemist/alchemist_hvyleather_chest.png
<STRING>MESH:media/wardrobe/alchemist/hvyleather_set.mesh
[/WARDROBE]
[/UNIT]
大约有十几个文件夹,每个文件夹都包含相同的 150 个左右文件的略有不同的副本。我可以复制其中一个文件夹作为主文件的起点。最终目标是(150 个文件的)主副本,其中包含来自每个不同文件夹源文件的衣柜部分。我更喜欢在 Windows 中执行此操作,因为过去我遇到过 Windows 和 Linux 回车不一样的麻烦。
大约一年半前,我在大学里有一个基本的脚本课,但这远不止于此。我认为批处理文件的逻辑类似于
1)从每个文件的末尾删除 [/UNIT]
2)从文件的每个实例中复制最后一个衣柜部分并将其连接到主文件的末尾
3)对文件夹中的每个文件重复上述操作
4)添加 [ /UNIT] 到主文件的末尾
有一些老板脚本技能的人可以帮助我吗?