フォルダ内のファイルに日時をつけて移動したい

Aのフォルダ内に複数ファイルがあります。
ファイル名「てすと1」を「日時+てすと1」と変えてBのフォルダに移動させたいです。
現状は
①代入 ファイル存在=System.IO.Directory.GetFiles(読込フォルダーパス)
ファイルがあったら

②繰返し各要素
繰返し:item コレクション内の各要素:ファイル存在

繰返しの中に
代入 元データ=DateTime.Now.ToString(“MMddhhmmss”) + item.tostring

ファイルをコピー
コピー元 元データ
コピー先 フォルダBのフルパス

としていますが、指定されたパスのフォーマットはサポートされていませんというエラーが出ます。
また、ファイルをコピーとしているのは、てすと1のファイルはこれから加工するために残しているためです。
よろしくお願いいたします。

恐らく元データのパスが以下のようになっているので不適切です。

代入 元データ=DateTime.Now.ToString(“MMddhhmmss”) + item.tostring

20201119C:\Users\abc\Documents\UiPath\sample.txt

なので一度、ディレクトリ名とファイル名を分けてから結合する必要があります。

System.IO.Path.GetDirectoryName(item.tostring) + “\”+
DateTime.Now.ToString(“MMddhhmmss”) +
System.IO.Path.GetFileName(item.tostring)

C:\Users\abc\Documents\UiPath\20201119sample.txt

回答くださりありがとうございます。

確かにフォルダ名の前に日付がありますね、気付きませんでした。ご指摘くださり大変助かりました。

以下改善した結果です(繰返しの中身)
①代入 日時=DateTime.Now.ToString(“MMddhhmmss”)
②代入 元データファイル名=System.IO.Path.GetFileName(item.tostring)
③ファイルをコピー
コピー元 item.tostring
コピー先 元データフォルダパス+""+日時+元データファイル名

としたところ意図したとおりに動きました。
教えてくださりありがとうございました。

1 Like

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