BIML解决文件移动问题

时间:2017-02-27 21:16:30

标签: biml

我正在尝试编写一个简单的文件移动循环,但我知道我错过了一些东西。 1.可能缺少通过所有文件的变量,即文本,只移动文本文件,因此我需要一个变量,但不知道我将把它放在下面的代码中。 2.我得到的错误信息是“必需的财产'来源'没有提供'MoveFilesPackage.LoopF​​ilesMove.MoveToDestination'...但我想我得到了它?我检查了我的拼写和大写...但仍然没有出现:( 让我知道如果我错过任何其他运行正确并将数据文件从一个目录移动到另一个目录:( Biml代码如下:

<Biml xmlns="http://schemas.varigence.com/biml.xsd">
<Connections>
  <FileConnection Name="File_Source" FilePath="\\pc1\Documents\HMS\" RelativePath ="true"/>
  <FileConnection Name="File_Destination" FilePath="\\pc1\Documents\HMS\Archive_Test\" RelativePath ="true"/>
</Connections>
<Packages>
    <Package Name="MoveFilesPackage" ConstraintMode="Linear">
        <Variables>
            <Variable Name="FileSource" Namespace="user" DataType="String"></Variable>
            <Variable Name="FileDestination" Namespace="user" DataType="String"></Variable>
        </Variables>
        <Tasks>
            <ForEachFileLoop Name="LoopFilesMove" Folder="User::FileSource" ConstraintMode="Linear" FileSpecification="*.txt">
                <Tasks>
                    <FileSystem Name="MoveToDestination" Operation="MoveFile">
                        <Expressions>
                            <Expression PropertyName="Source" ExternalProperty="User::FileSource"></Expression>
                            <Expression PropertyName="Destination" ExternalProperty="User::FileDestination"></Expression>
                        </Expressions>
                    </FileSystem>
                </Tasks>
            </ForEachFileLoop>
        </Tasks>
    </Package>
</Packages>
</Biml>

1 个答案:

答案 0 :(得分:1)

这是在Varigence Biml论坛上回答的: https://varigence.com/Forums?threadID=9737

以下是在那里提供的最小代码示例:

<Biml xmlns="http://schemas.varigence.com/biml.xsd">
<Packages>
    <Package Name="MoveFilesPackage" ConstraintMode="Linear">
        <Variables>
            <Variable Name="SourceFilePath" DataType="String">c:\temp</Variable>
        </Variables>
        <Tasks>
            <ForEachFileLoop Name="LoopFilesMove" Folder="\\pc1\Documents\HMS\" ConstraintMode="Linear" FileSpecification="*.txt" RetrieveFileNameFormat="FullyQualified">
                <VariableMappings>
                    <VariableMapping Name="0" VariableName="User.SourceFilePath" />
                </VariableMappings>
                <Tasks>
                    <FileSystem Name="MoveToDestination" Operation="MoveFile">
                        <VariableInput VariableName="User.SourceFilePath" />
                        <ExternalFileOutput ExternalFilePath="\\pc1\Documents\HMS\Archive_Test\" />
                    </FileSystem>
                </Tasks>
            </ForEachFileLoop>
        </Tasks>
    </Package>
</Packages>
</Biml>