フォルダ名の取得について

日付をフォルダ名として取得したく、
20240910/あいうえお20240910.xlsxというフルパスがあったとして、20240910フォルダの部分を取得したいです。

あいうえお20240910.xlsxを取得する際に
“あいうえお” & System.DateTime.Now.AddDays(-1).ToString(“yyyyMMdd”)
のようにした経験はあるのですが、フォルダ名を取得する方法がわからず
教えていただきたいです。よろしくお願いいたします。

こんにちは
上記はフルパスではないと思いますが、入力がフルパスとすると以下の式で抽出可能です。

System.IO.Path.GetFileName(System.IO.Path.GetDirectoryName(yourString))

ありがとうございます。
フォルダ名を取得の場合でも使用するのは
System.IO.Path.GetFileNameという書き方になるんでしょうか?

あるフルパスを表す文字列(例えば以下)があったとき

c:\temp\sss\bbb

この文字列からだけではbbbがファイル名かフォルダ名かはわかりません。
System.IO.Path.GetFileNameは名前こそファイル名取得ですが、実際は文字列の最後のパスセパレーターより後ろの文字列を返しており、実体がファイルかフォルダかには依存しません。

ありがとうございます。
単体でフォルダ名を取得する時は上記のようにするのを理解することができました。
変数の中にフルパスを格納したいとき
例 C:aaa\bbb\ccc\今日の日付\ddd.xlsx

このような場合は【今日の日付】の部分はどのような記載方法になるのか知りたく、、、

今日の日付の部分を例えば今日なら20240910にするということでしょうか?
そうであれば

strDate = Now.ToString("yyyyMMdd")

としておいて

$"C:\aaa\bbb\ccc\{strDate}\ddd.xlsx"

Now.ToString(“yyyyMMdd”)も変数に格納すればいいんですね!
何故か直書きした際にエラーが出ていたため助かりました。
ありがとうございます!

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