20

Foreachループ内のフォルダーを可変の場所に設定する必要があります。パッケージ構成に場所を追加しようとしましたが、機能するように動作しましたが、構成ファイルを開いたときにそこにありませんでした。

パスをハードコーディングしてForeachFileEnumeratorに設定し、完全修飾ファイル名を取得しました。私の変数Mappingsには、インデックス0の変数CurrentFileがあります。

そこで、SourceFiles変数が\ server \path*。*のForeachFromVariableEnumeratorに変更しました。しかし、現在、割り当てられている値の型が変数の型(文字列)と異なるというCurrentFileについて不平を言っています。

[コレクション]タブの[列挙子]で式を使用する必要があると思いますか?どのように?

  • 一般:Foreachループコンテナ
  • コレクション:Varialbe列挙子からのForeach; 変数はUser::SourcePathです。式(未使用)
  • 変数マッピング:変数User :: CurrentFile、Index 0
  • 式:(使用されていません)

エラー:0xC001F009 at MyPackage:変数 "User::CurrentFile"に割り当てられている値のタイプが現在の変数タイプと異なります。実行中に変数のタイプを変更することはできません。Object型の変数を除いて、変数型は厳密です。エラー:0xC001C012 at Foreachループコンテナー:ForEach変数マッピング番号1から変数 "User::CurrentFile"を適用できません。

4

1 に答える 1

30

同僚がそれを機能させる方法を教えてくれました。「ForeachfromVariableEnumerator」に変更せず、「ForeachFileEnumerator」のままにしておきます。

  • コレクション:Foreachファイル列挙子; 列挙子構成のフォルダーとファイルに配置します。[式]で、ディレクトリを、ディレクトリを指すユーザー変数に設定します(入力したフォルダーが優先されます)。FileSpecを、ファイルを指すユーザー変数に設定します(これにより、入力したファイルが優先されます)。
Directory @[User::SourcePath]  (value: \\server\directory)
FileSpec @[User::CopyFileName] (value: *.*)
  • 変数マッピング:変数User :: Current File、index 0
  • 式:(使用されていません)
于 2011-03-30T18:01:29.970 に答える