Batch file 如何使用windows批处理复制一个文件的内容并粘贴到指定字符串之前?
我有两个文件和一些内容。样本内容如下所示 目标文件:Batch file 如何使用windows批处理复制一个文件的内容并粘贴到指定字符串之前?,batch-file,cmd,Batch File,Cmd,我有两个文件和一些内容。样本内容如下所示 目标文件: <TypesCatalogue><Type><ClassName>RuleID</ClassName><PackageName>com.fentbase.types.primitives</PackageName><ParentType>FEBAALong</ParentType><JavaType>Long</JavaType&
<TypesCatalogue><Type><ClassName>RuleID</ClassName><PackageName>com.fentbase.types.primitives</PackageName><ParentType>FEBAALong</ParentType><JavaType>Long</JavaType></Type><Type><ClassName>TranRequestEntityId</ClassName><PackageName>com.fentbase.types.primitives</PackageName><ParentType>FEBAAString</ParentType><JavaType>String</JavaType></Type><Type><ClassName>HostCriteriaVO</ClassName><PackageName>com.fentbase.types.valueobjects</PackageName><ParentType>IFEBAValueObject</ParentType></Type></TypesCatalogue>
RuleIDcom.fentbase.types.primitivesFEBAALongLongTranRequestEntityIdcom.fentbase.types.primitivesFEBAAStringStringHostCriteriaVOcom.fentbase.types.ValueObjectsFebaValueObject
源文件:
<Type><ClassName>HostCriteriaVO</ClassName><PackageName>com.fentbase.types.valueobjects</PackageName><ParentType>IFEBAValueObject</ParentType></Type>
HostCriteriaVOcom.fentbase.types.valueobjectsIFEBAValueObject
源文件的内容应该插入到目标文件的
之前。测试:它创建newfile.xml
这使用了一个名为repl.bat
(由dbenham提供)的助手批处理文件-下载自:
将repl.bat
放在与批处理文件相同的文件夹中,或放在路径上的文件夹中
@echo off
type destination.xml|repl "</TypesCatalogue>" "" L >newfile.xml
type source.xml >> newfile.xml
>>newfile.xml echo ^</TypesCatalogue^>
@echo关闭
键入destination.xml | repl“”L>newfile.xml
键入source.xml>>newfile.xml
>>newfile.xml echo^
这在这里起作用:
@echo off
setlocal EnableDelayedExpansion
set /P "destination=" < destination.xml
set /P "source=" < source.xml
set /P "=!destination:</TypesCatalogue>=%source%!</TypesCatalogue>" < NUL > newDestination.xml
@echo关闭
setlocal EnableDelayedExpansion
设置/P“destination=“newDestination.xml
如果结果正确,只需从输出文件中删除“新”部分。有毒字符和外来字符以及不带换行符的xml都将改变执行此任务的方式。要给您不中断的代码,我们需要查看文件的实际内容,以查看是否需要处理这些事情。编辑问题以示例文件内容。您的源文件中没有
example@a_horse_with_no_name,对不起,编辑错误。现在更新。@naveenbharadwaj您没有发表评论有什么原因吗?当我添加我的答案时,您正在发布。如果文件内容较少,则此操作有效。如果目标文件很大,则似乎存在一些问题。