私はディレクトリを作成する次のコードを持っています。タスクはレコード数を受け取り、レコード数が必要な数、たとえば1000レコードに達するたびに新しいディレクトリが作成されます。タスクがもう一度実行されると、既存のディレクトリに1000レコードが追加されます。既存のディレクトリをスキップして新しいディレクトリを作成します。私は様々なifexistsを追加しようとしましたが、すべての時間を台無しにしました、どんな助けも認められるでしょうディレクトリがVB.NETコードに存在する場合
Public Sub Main()
Dim SourceDirectory As String = "E:\Data"
Dim TargetDirectory As String = "E:\CN"
Dim FileExtensionsToProcess As String = "CON*.pdf"
Dim FileCounter As Integer = 0
Dim FolderName As Integer = 1
Dim recordcount As Integer
recordcount = CInt(Dts.Variables("RecordCount").Value)
For Each FileName As String In System.IO.Directory.GetFiles(SourceDirectory, FileExtensionsToProcess)
Dim FileOnly As String = System.IO.Path.GetFileName(FileName)
Try
If Not IO.Directory.Exists(IO.Path.Combine(TargetDirectory, FolderName.ToString())) Then
IO.Directory.CreateDirectory(IO.Path.Combine(TargetDirectory, FolderName.ToString()))
End If
IO.File.Move(FileName, IO.Path.Combine(TargetDirectory, IO.Path.Combine(FolderName.ToString(), FileOnly)))
Catch
End Try
FileCounter += 1
If (FileCounter Mod recordcount) = 0 Then
FolderName += 1
End If
Next
Dts.TaskResult = ScriptResults.Success
End Sub
'recordcount'をハードコードされた小さな番号に設定します。 5、 'try ... catch'で可能な例外を飲み込まず、' for each'ループにブレークポイントを設定し、カウンタ変数とif文をチェックし、コードをデバッグしてエラーを修正します。 –
目的のディレクトリが存在するかどうかをチェックします。ただし、ファイルの数を数えてから、ファイルを移動してください。 –