(★初心者)フォルダのコピぺがなんか変

いつも、お世話になっております。
現在、フォルダの情報を取得して、該当する名前以外のフォルダを
コピペさせる処理を考えております。

処理のプログラムを以下に記載します。
【繰り返しアクティビティ】
要素:[conFoldar] コレクション:[System.IO.Directory.GetDirectories(フォルダパス)]

【代入アクティビティ】
conFoldarName = Path.GetDirectoryName(conFoldar)

【代入アクティビティ】
conFoldarPreName = (conFoldarName & “00000000”).Substring(0,8)

【条件分岐アクティビティ】
conFoldarName.Equals(“abeshin”)

【代入アクティビティ】
jp1_path_Foldar = フォルダパス & “¥” & conFoldar

【コードを呼び出しアクティビティ】※フォルダコピーをしております。
My.Computer.FileSystem.CopyDirectory(移行元フォルダ, 移行先フォルダ, _
FileIO.UIOption.AllDialogs, FileIO.UICancelOption.DoNothing)

【コードを呼び出し】でフォルダをコピーするプログラムを記述しております。
【1行を書き込みアクティビティ】で正常にパスは取得できているとは思いますが、
これをうまくコピぺできないでいます。
現在、フルパスでコピペされているので、こちらをメソッドで取得したフォルダのみをコピペしたいイメージです。
※\あいうえお\かき\けこ → (けこフォルダ)のみコピペしたい

元々は、GetFilesメソッド、GetFileNameメソッドの応用で作成しており、
また、コード呼び出し記載のプログラムもWebで漁ったものを改良しただけなので
本プログラムに自信がありません。
なにか、違和感等ございましたら、ご教示お願いします。
別のやり方があればそちらでも構いません。

【繰り返しアクティビティ】で、指定フォルダ中のサブフォルダの一覧を取得し、一つずつ処理していきますね?
次の【代入アクティビティ】で、そのサブフォルダの一つ上位のフォルダ名を取得しますね。
その次の「conFoldarPreName 」への転記は、後続で「conFoldarPreName 」を使用していないので無視します。
【条件分岐アクティビティ】で、そのサブフォルダの一つ上位のフォルダ名が“abeshin”とありますが、フォルダ名はドライブレター込みですのでFalseになり、必ず処理されていくので、【条件分岐アクティビティ】は不要になると思います。

更に、jp1_path_Foldar への転送では、ドライブレター&フォルダとドライブレター&フォルダとを連結しているので、のちのち実在しないフォルダになると思います。

おそらく、フォルダパス中のサブフォルダの構成を、jp1_path_Foldarフォルダに同じように再現しようとしているのとしたら、System.IO.Directory.GetDirectories(フォルダパス)で得たフルパスの情報を、フォルダパスをString…Emptyで置換してやることにより、サブフォルダのみの情報にしてから処理するとか、conFoldarName & “00000000”).Substring(0,8)をconFoldarName.Substring(フォルダパス.Length)などとしてもサブフォルダのみの情報が得られると思います。

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.