0

作成日に基づいて、csv ファイルをある場所から別の場所に移動しようとしています。

しかし、動作していないときに使用したコードは、sample.csv が別のプロセスによって既に使用されているというエラーを示しています。この問題を解決するにはどうすればよいですか?

これは、エラー メッセージ「エラー: System.Reflection.TargetInvocationException: 呼び出しのターゲットによって例外がスローされました。 ---> System.IO.IOException: プロセスはファイル 'C:\New folder\Test. txt' は、別のプロセスによって使用されているためです。 .Main() --- 内部例外スタック トレースの終了 --- System.RuntimeMethodHandle._InvokeMethodFast(Object ターゲット、Object[] 引数、SignatureStruct& sig、MethodAttributes methodAttributes、RuntimeTypeHandle typeOwner) で System.RuntimeMethodHandle.InvokeMethodFast(Object ターゲット、 Object[] 引数、署名 sig、MethodAttributes methodAttributes、RuntimeTypeHandle typeOwner) System.Reflection.RuntimeMethodInfo.Invoke(Object obj、BindingFlags invokeAttr、バインダー バインダー、Object[] パラメーター、CultureInfo カルチャ、Boolean skipVisibilityChecks) で System.Reflection.RuntimeMethodInfo.Invoke(Object obj、BindingFlags invokeAttr、 System.RuntimeType.InvokeMember(文字列名、BindingFlags bindingFlags、バインダー バインダー、オブジェクト ターゲット、Object[] providedArgs、ParameterModifier[] 修飾子、CultureInfo カルチャ、String[] namedParams) の System.RuntimeType.InvokeMember (バインダー バインダー、Object[] パラメーター、CultureInfo カルチャ) Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript() の .Type.InvokeMember(文字列名、BindingFlags invokeAttr、バインダー バインダー、オブジェクト ターゲット、Object[] args、CultureInfo カルチャ)"System.Reflection.RuntimeMethodInfo.Invoke(オブジェクト obj、BindingFlags invokeAttr、バインダー バインダー、Object[] パラメーター、CultureInfo カルチャ、ブール値の skipVisibilityChecks) で System.Reflection.RuntimeMethodInfo.Invoke(オブジェクト obj、BindingFlags invokeAttr、バインダー バインダー、 System.RuntimeType.InvokeMember(文字列名、BindingFlags bindingFlags、バインダー バインダー、オブジェクト ターゲット、Object[] providedArgs、ParameterModifier[] 修飾子、CultureInfo カルチャ、String[] namedParams) の System.Type.Type. Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript() での InvokeMember (文字列名、BindingFlags invokeAttr、バインダー バインダー、オブジェクト ターゲット、Object[] args、CultureInfo カルチャ)"System.Reflection.RuntimeMethodInfo.Invoke(オブジェクト obj、BindingFlags invokeAttr、バインダー バインダー、Object[] パラメーター、CultureInfo カルチャ、ブール値の skipVisibilityChecks) で System.Reflection.RuntimeMethodInfo.Invoke(オブジェクト obj、BindingFlags invokeAttr、バインダー バインダー、 System.RuntimeType.InvokeMember(文字列名、BindingFlags bindingFlags、バインダー バインダー、オブジェクト ターゲット、Object[] providedArgs、ParameterModifier[] 修飾子、CultureInfo カルチャ、String[] namedParams) の System.Type.Type. Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript() での InvokeMember (文字列名、BindingFlags invokeAttr、バインダー バインダー、オブジェクト ターゲット、Object[] args、CultureInfo カルチャ)"System.Reflection.RuntimeMethodInfo.Invoke(Object obj、BindingFlags invokeAttr、Binder バインダー、Object[] パラメーター、CultureInfo カルチャ) で System.RuntimeType.InvokeMember( System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder バインダー, Object target, Object [] args, CultureInfo culture) at Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()"System.Reflection.RuntimeMethodInfo.Invoke(Object obj、BindingFlags invokeAttr、Binder バインダー、Object[] パラメーター、CultureInfo カルチャ) で System.RuntimeType.InvokeMember( System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder バインダー, Object target, Object [] args, CultureInfo culture) at Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()"System.RuntimeType.InvokeMember(文字列名、BindingFlags bindingFlags、バインダー バインダー、オブジェクト ターゲット、Object[] providedArgs、ParameterModifier[] 修飾子、CultureInfo カルチャ、String[] namedParams での BindingFlags invokeAttr、Binder バインダー、Object[] パラメーター、CultureInfo カルチャ) ) Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript() の System.Type.InvokeMember (文字列名、BindingFlags invokeAttr、バインダー バインダー、オブジェクト ターゲット、Object[] 引数、CultureInfo カルチャ)"System.RuntimeType.InvokeMember(文字列名、BindingFlags bindingFlags、バインダー バインダー、オブジェクト ターゲット、Object[] providedArgs、ParameterModifier[] 修飾子、CultureInfo カルチャ、String[] namedParams での BindingFlags invokeAttr、Binder バインダー、Object[] パラメーター、CultureInfo カルチャ) ) Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript() の System.Type.InvokeMember (文字列名、BindingFlags invokeAttr、バインダー バインダー、オブジェクト ターゲット、Object[] 引数、CultureInfo カルチャ)"Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript() でのバインダー バインダー、オブジェクト ターゲット、Object[] 引数、CultureInfo カルチャ)"Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript() でのバインダー バインダー、オブジェクト ターゲット、Object[] 引数、CultureInfo カルチャ)"

 Public Sub Main()
        Dim csvFilesToday = New List(Of String)
        Dim sourceDir As String = "C:\New folder"
        Dim backupDir As String = "C:\New folder (2)"

        For Each csv In Directory.GetFiles(sourceDir, "*.csv", IO.SearchOption.AllDirectories)
            If File.GetCreationTime(csv).Date = Date.Today Then
                File.Copy(Path.Combine(sourceDir, csv), Path.Combine(backupDir, csv), True)
            End If
        Next
        Dts.TaskResult = ScriptResults.Success
    End Sub

End Class
4

2 に答える 2