.NET/ファイルなの?ディレクトリなの?の判別
の編集
Top
/
.NET
/
ファイルなの?ディレクトリなの?の判別
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
.NET
.NET/.NETでpingを実現する・System.Net.NetworkInformation.Ping
.NET/ARPテーブルを取得し表示するサンプル・GetIpNetTable
.NET/CPUコア毎の使用率を取得する
.NET/CPU使用率を取得する
.NET/DateとDateTimeの違い
.NET/HttpClientを使って指定したURLのページを取得する
.NET/IPv4からMACアドレス取得する・SendARP
.NET/IPアドレスからホスト名を取得するサンプルコード
.NET/ListのStringをカンマ区切りにする方法
.NET/Listを配列に配列をListに変換する
.NET/NET6.0でSQLiteを使ってみた Microsoft.Data.Sqlite
.NET/ODBCを使用してデータベースに接続しSQLを実行するサンプル
.NET/String.Splitで空要素を残す、空要素を削除するオプションについて
.NET/StringBuilderをバイト配列に変換する
.NET/Stringの配列をCSVにする方法
.NET/UNIX時間への変換・DateTimeOffset
.NET/UNIX時間をDateTimeOffset, DateTimeにする
.NET/Web APIからJSONを取得し値を表示する・DataContractJsonSerializer
.NET/WMIを使って物理メモリ・仮想メモリの使用量等を取得する
.NET/アルファベットを大文字、小文字に変換する
.NET/インストールされているODBCドライバ一覧を取得するサンプル
.NET/コンソールプログラムからトースト通知をするサンプル
.NET/サスペンド前・復帰の時に処理を行いたい
.NET/スペースのみの文字列、空の文字列、サイズ0の文字列を判定する
.NET/スリープの抑止、モニター電源オフの抑止のサンプルコード
.NET/ターゲットにしている.NETを確認する操作手順
.NET/テキストファイルの読込・ReadAllText,ReadAllLines
.NET/テキストファイルの読込・StreamReader
.NET/テンポラリファイルの作成・ランダムな文字列の作成を作成する
.NET/テンポラリファイル名を取得する・GetRandomFileName
.NET/ディレクトリの有無を確認する
.NET/ネットワークカードの各種情報を取得するサンプルコード
.NET/バイト配列にファイルの内容をすべて読み込む
.NET/バイナリーファイルの作成・リード・ライト
.NET/ファイルなの?ディレクトリなの?の判別
.NET/ファイルの有無を確認する
.NET/ファイル一覧を取得する・GetFiles,EnumerateFiles
.NET/プログラムに渡された引数を取得する方法
.NET/ユーザーが無操作の状態を取得する・GetLastInputInfo
.NET/三項演算子のサンプルコード
.NET/四捨五入をするときはMidpointRounding.AwayFromZeroにすること
.NET/指定した時間間隔でイベントを発行する・Timer
.NET/数値を指定した桁数分ゼロで埋めたい・ToString
.NET/文字列(String)を左右逆転し文字列(String)で返却する方法
.NET/文字列をバイト配列に変換・バイト配列を文字列に変換
.NET/文字列を区切り文字で分割する方法・Split
.NET/文字列宣言の先頭の@について
.NET/文字列数値を指定した桁数分ゼロで埋めたい・PadLeft
.NET/文字列日付をDateTimeに変換する
.NET/文字列配列orList配列に指定した文字列が存在するかを確認する方法
.NET/時間(日数+時間)が格納できるTimeSpan
.NET/月末の日を取得する方法・DaysInMonth
.NET/現在の日時を取得する
.NET/符号付バイトsbyte,符号なしbyteをintegerに変換する
.NET/管理者として実行されているかどうか確認するサンプルコード
.NET/連想配列(ハッシュ)のキーと値を取得する
.NET/連想配列(ハッシュ)を使ってみる・Dictionary
.NET/閏年かを調べる方法
AutoTicketLinkName
FrontPage
MenuBar
OSS
OSS/XYM日本円価格(シンボル日本円価格 (XYMJPYPrice)
OSS/ビットコイン日本円価格(ビットコイン日本円価格 (BitcoinJPYPrice)
RecentDeleted
VS
VS/Debug.Writeをイミディエイトウィンドウに出力する方法
VS/Visual Studio 2022に Spy++をインストールする手順
VS/VS2022の配色テーマの変更操作
VS/XAML編集に使うツールボックスの再表示する操作手順
VS/インデントなどコードを整形するショートカットの紹介
VS/コメントにするショートカットキー
VS/ショートカットキーで大文字・小文字に変換する
VS/ビルド中に中断したい場合の操作手順
WPF
WPF/DataGridを使ってみる
WPF/起動してもMainWindowを表示したくない場合
お約束
プライバシーポリシー
最初にお読みください
#navi(../) * ファイルなの?ディレクトリなの?の判別方法 [#ecc18483] System.IO.File.Exists、System.IO.Directory.Existsを使って、ファイルなのかディレクトリなのか?を~ 判別することが可能ですが、本記事では、''System.IO.File.GetAttributes''を使って、~ ファイルの各種属性(隠しファイル、リードオンリーファイルなどの各種属性)を取得するメソッドを利用し、~ 普通のファイル属性(System.IO.FileAttributes.Archive、System.IO.FileAttributes.Normal)・ディレクトリ属性(System.IO.FileAttributes.Directory)なのかを判定し~ ファイルorディレクトリの判別を行うサンプルコードになります。~ 尚、ファイルやディレクトリが存在しないと、例外が発生するのでerrorを返却しています。~ &color(red){細かなファイル属性(FileAttributes)までは対応していないサンプルコードなのでご了承ください。}; #htmlinsert(windev-top.html) #contents * 参考サイト [#l212866d] -[[Microsoft|.NET File.GetAttributes(String) メソッド>https://docs.microsoft.com/ja-jp/dotnet/api/system.io.file.getattributes?view=netframework-4.8]] -[[Microsoft|.NET FileAttributes 列挙型>https://docs.microsoft.com/ja-jp/dotnet/api/system.io.fileattributes?view=netframework-4.8]] * 関連記事 [#lcd8befb] -[[ファイルの有無を確認する>.NET/ファイルの有無を確認する]] -[[ディレクトリの有無を確認する>.NET/ディレクトリの有無を確認する]] * File.GetAttributes(String)メソッド [#i1e3d908] File.GetAttributes(String)メソッドの引数にある、Stringにファイル属性を調べたいパスを文字列(String)で指定します。~ 指定したファイル(ディレクトリ)が存在した場合、FileAttributes列挙型に該当する値が返却されます。 *サンプルコード [#t4ee222f] File.GetAttributes、FileAttributesを使って、ファイルなのかディレクトリなのか?を判別するサンプルコードを以下に記します。~ 尚、指定したファイル、ディレクトリが存在しない場合、GetAttributesメソッドは例外を発生させますので、例外発生時はerrorを返却しています。 *C#サンプルコード [#iefd67a5] //#ref(Program.cs) using System; namespace GetAttrCS { class Program { static void Main(string[] args) { String file = @"C:\Windows\System32\drivers\etc\hosts"; String dir = @"C:\Windows"; String notExist = @"C:\path\to"; Console.WriteLine(file + ":" + GetAttr(file)); Console.WriteLine(dir + ":" + GetAttr(dir)); Console.WriteLine(notExist + ":" + GetAttr(notExist)); } static String GetAttr(String pathto) { String result = ""; System.IO.FileAttributes attr ; try { attr = System.IO.File.GetAttributes(pathto); if ((attr & System.IO.FileAttributes.Directory) == System.IO.FileAttributes.Directory) { result = "Directory"; } else if((attr & System.IO.FileAttributes.Archive) == System.IO.FileAttributes.Archive) { result = "Archive file"; } else if ((attr & System.IO.FileAttributes.Normal) == System.IO.FileAttributes.Normal) { result = "Normal file"; } else { result = "unknown"; } } catch (Exception) { result = "error"; } return result; } } } *Visual Basic(VB)サンプルコード [#q22e5c12] //#ref(Module1.vb) Module Module1 Sub Main() Dim file As String = "C:\Windows\System32\drivers\etc\hosts" Dim dir As String = "C:\Windows" Dim notExist As String = "C:\path\to" Console.WriteLine(file & ":" & GetAttr(file)) Console.WriteLine(dir & ":" & GetAttr(dir)) Console.WriteLine(notExist & ":" & GetAttr(notExist)) End Sub Function GetAttr(pathto As String) As String Dim result As String = "" Dim attr As System.IO.FileAttributes Try attr = System.IO.File.GetAttributes(pathto) If ((attr And System.IO.FileAttributes.Directory) = System.IO.FileAttributes.Directory) Then result = "Directory" ElseIf ((attr And System.IO.FileAttributes.Archive) = System.IO.FileAttributes.Archive) Then result = "Archive file" ElseIf ((attr And System.IO.FileAttributes.Normal) = System.IO.FileAttributes.Normal) Then result = "Normal file" Else result = "unknown" End If Catch ex As Exception result = "error" End Try Return result End Function End Module ** 実行結果 [#ub693115] 実行結果のキャプチャになります。~ ファイル(System.IO.FileAttributes.Normal、System.IO.FileAttributes.Archive)、ディレクトリ(FileAttributes.Directory)、ファイルが存在しないためエラーの3つが表示されます。 #ref(01.png) 以上、System.IO.File.GetAttributesメソッドを使ってファイルorディレクトリ判別のサンプルコードの紹介でした。 #htmlinsert(windev-btm.html)
タイムスタンプを変更しない
#navi(../) * ファイルなの?ディレクトリなの?の判別方法 [#ecc18483] System.IO.File.Exists、System.IO.Directory.Existsを使って、ファイルなのかディレクトリなのか?を~ 判別することが可能ですが、本記事では、''System.IO.File.GetAttributes''を使って、~ ファイルの各種属性(隠しファイル、リードオンリーファイルなどの各種属性)を取得するメソッドを利用し、~ 普通のファイル属性(System.IO.FileAttributes.Archive、System.IO.FileAttributes.Normal)・ディレクトリ属性(System.IO.FileAttributes.Directory)なのかを判定し~ ファイルorディレクトリの判別を行うサンプルコードになります。~ 尚、ファイルやディレクトリが存在しないと、例外が発生するのでerrorを返却しています。~ &color(red){細かなファイル属性(FileAttributes)までは対応していないサンプルコードなのでご了承ください。}; #htmlinsert(windev-top.html) #contents * 参考サイト [#l212866d] -[[Microsoft|.NET File.GetAttributes(String) メソッド>https://docs.microsoft.com/ja-jp/dotnet/api/system.io.file.getattributes?view=netframework-4.8]] -[[Microsoft|.NET FileAttributes 列挙型>https://docs.microsoft.com/ja-jp/dotnet/api/system.io.fileattributes?view=netframework-4.8]] * 関連記事 [#lcd8befb] -[[ファイルの有無を確認する>.NET/ファイルの有無を確認する]] -[[ディレクトリの有無を確認する>.NET/ディレクトリの有無を確認する]] * File.GetAttributes(String)メソッド [#i1e3d908] File.GetAttributes(String)メソッドの引数にある、Stringにファイル属性を調べたいパスを文字列(String)で指定します。~ 指定したファイル(ディレクトリ)が存在した場合、FileAttributes列挙型に該当する値が返却されます。 *サンプルコード [#t4ee222f] File.GetAttributes、FileAttributesを使って、ファイルなのかディレクトリなのか?を判別するサンプルコードを以下に記します。~ 尚、指定したファイル、ディレクトリが存在しない場合、GetAttributesメソッドは例外を発生させますので、例外発生時はerrorを返却しています。 *C#サンプルコード [#iefd67a5] //#ref(Program.cs) using System; namespace GetAttrCS { class Program { static void Main(string[] args) { String file = @"C:\Windows\System32\drivers\etc\hosts"; String dir = @"C:\Windows"; String notExist = @"C:\path\to"; Console.WriteLine(file + ":" + GetAttr(file)); Console.WriteLine(dir + ":" + GetAttr(dir)); Console.WriteLine(notExist + ":" + GetAttr(notExist)); } static String GetAttr(String pathto) { String result = ""; System.IO.FileAttributes attr ; try { attr = System.IO.File.GetAttributes(pathto); if ((attr & System.IO.FileAttributes.Directory) == System.IO.FileAttributes.Directory) { result = "Directory"; } else if((attr & System.IO.FileAttributes.Archive) == System.IO.FileAttributes.Archive) { result = "Archive file"; } else if ((attr & System.IO.FileAttributes.Normal) == System.IO.FileAttributes.Normal) { result = "Normal file"; } else { result = "unknown"; } } catch (Exception) { result = "error"; } return result; } } } *Visual Basic(VB)サンプルコード [#q22e5c12] //#ref(Module1.vb) Module Module1 Sub Main() Dim file As String = "C:\Windows\System32\drivers\etc\hosts" Dim dir As String = "C:\Windows" Dim notExist As String = "C:\path\to" Console.WriteLine(file & ":" & GetAttr(file)) Console.WriteLine(dir & ":" & GetAttr(dir)) Console.WriteLine(notExist & ":" & GetAttr(notExist)) End Sub Function GetAttr(pathto As String) As String Dim result As String = "" Dim attr As System.IO.FileAttributes Try attr = System.IO.File.GetAttributes(pathto) If ((attr And System.IO.FileAttributes.Directory) = System.IO.FileAttributes.Directory) Then result = "Directory" ElseIf ((attr And System.IO.FileAttributes.Archive) = System.IO.FileAttributes.Archive) Then result = "Archive file" ElseIf ((attr And System.IO.FileAttributes.Normal) = System.IO.FileAttributes.Normal) Then result = "Normal file" Else result = "unknown" End If Catch ex As Exception result = "error" End Try Return result End Function End Module ** 実行結果 [#ub693115] 実行結果のキャプチャになります。~ ファイル(System.IO.FileAttributes.Normal、System.IO.FileAttributes.Archive)、ディレクトリ(FileAttributes.Directory)、ファイルが存在しないためエラーの3つが表示されます。 #ref(01.png) 以上、System.IO.File.GetAttributesメソッドを使ってファイルorディレクトリ判別のサンプルコードの紹介でした。 #htmlinsert(windev-btm.html)
テキスト整形のルールを表示する
添付ファイル:
Module1.vb
89件
[
詳細
]
Program.cs
72件
[
詳細
]
01.png
253件
[
詳細
]