我是编程+使用MIT版Torque 2D游戏引擎的新手。 由于某种原因,引擎要求图像具有XML(.TAML)文件 与之相关联。应根据图像文件名命名此文件。
我有一百个需要添加XML文件的.png文件。我认为编写脚本是解决这个问题的最佳方法。我需要一些关于如何编写批处理脚本的帮助/指导来帮助我完成这项任务。
以下是脚本逻辑的示例:
1.主文件夹是“assets”文件夹。 批处理文件将运行并首先检查图像的“资产”。
a)如果没有找到图像,则会检查所有子文件夹。
b)如果找到文件,它将使用png文件名
创建一个文本文件c)它将填写文本文件头并填写AssetName =& ImageName =具有png文件名的字段。
d)它将附加.asset.taml扩展名保存并关闭并继续循环。
e)完成打印成功消息并退出。 (如果我想得到想象,我可以跟踪添加了多少文件。)
模拟: 在资产文件夹中运行程序。
资产/图像/ check.png
批处理文件将创建一个名为:
的xml文本文件check.asset.taml(.taml是XML文件)
XML文件的内容如下所示:
<ImageAsset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../Torque2D.xsd"
AssetName="check"
ImageFile="check.png"/>
批处理脚本将继续并找到下一个文件:(注意它找到了一个新的子目录) assets / images / backgrounds / background.png
并在正确的目录中输出新的xml
background.asset.taml
The XML file Content:
<ImageAsset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../Torque2D.xsd"
AssetName="background"
ImageFile="background.png"/>
我很感激有关如何编写此脚本的任何帮助和指导。 不确定“C”,“C ++”,Python,其他语言是否最好写入?
谢谢,
-Joe
答案 0 :(得分:0)
@ECHO OFF
SETLOCAL
SET "targetdir=U:\destdir"
SET /a filecount=0
SET "and_subdirs="
:again
PUSHD "%targetdir%"
FOR %and_subdirs% %%a IN (
"*.png"
) DO (
SET /a filecount+=1
>"%%~dpna.taml" (
ECHO(^<ImageAsset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../Torque2D.xsd"
ECHO( AssetName="%%~na"
ECHO( ImageFile="%%~nxa"/^>
)
)
popd
IF NOT DEFINED and_subdirs IF %filecount%==0 SET "and_subdirs=/r"& GOTO again
ECHO(%filecount% files found
IF DEFINED and_subdirs ECHO(Subdirectories were scanned
GOTO :EOF
这应该可以解决您的问题。您需要更改targetdir
的设置以适合您的具体情况。