[解決済み] 文字列がWindowsの有効なディレクトリ(フォルダ)パスであるかどうかをチェックします。
2023-04-01 01:55:33
質問
ユーザーによって入力された文字列が、フォルダーへのパスを表すのに有効かどうかを判断しようとしています。有効であるということは、適切にフォーマットされているということです。
私のアプリケーションでは、フォルダーはインストール先を表します。ただし、フォルダーのパスが が が有効であることを前提に、私はそのフォルダーが存在するかどうかを判断し、存在しない場合は作成したいのです。
現在、私は
IO.Directory.Exists( String path )
. これは、ユーザーが文字列を適切にフォーマットしない場合を除き、うまく機能することがわかります。このような場合、このメソッドは false を返し、そのフォルダが存在しないことを示します。しかし、これはその後フォルダを作成することができないので問題です。
ググってみると、正規表現を使用してフォーマットが適切かどうかをチェックするという提案を見つけました。私は正規表現の経験がなく、それが実行可能なアプローチであるかどうか疑問に思っています。以下は、私が見つけたものです。
Regex r = new Regex( @"^(([a-zA-Z]\:)|(\\))(\\{1}|((\\{1})[^\\]([^/:*?<>""|]*))+)$" );
return r.IsMatch( path );
と組み合わせて正規表現でテストすると
Directory.Exists()
を与えてください。
好い加減
メソッドを使って、パスが有効かどうか、存在するかどうかをチェックすることができます。OSなどでも変わってくると思いますが、プログラムの対象は
ウィンドウズ
のユーザーのみ。
どのように解決するのですか?
コール
Path.GetFullPath
パスが無効な場合は例外を発生させます。
相対パスを許可しない場合(例えば
Word
) を呼び出す。
Path.IsPathRooted
.
関連
-
[解決済み】スクリプトクラスが見つからないので、スクリプトコンポーネントを追加できない?
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み] 文字列が有効な数値であるかどうかを確認するにはどうすればよいですか?
-
[解決済み] 現在のファイルのディレクトリのフルパスを取得するにはどうすればよいですか?
-
[解決済み] WindowsのPATH環境変数にディレクトリを追加する
-
[解決済み] アプリケーションフォルダのパスを取得する最適な方法
-
[解決済み] ファイルのフルパスからディレクトリを取得する方法を教えてください。
-
[解決済み] Node.jsのパスがファイルかディレクトリかをチェックする。
-
[解決済み] WindowsとLinuxのディレクトリ名で禁止されている文字は何ですか?
-
[解決済み] パスがファイルかディレクトリかを確認する良い方法?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー。「戻り値を変更できません」 C#
-
[解決済み】「未割り当てのローカル変数を使用」とはどういう意味ですか?
-
[解決済み] エンティティタイプ ApplicationUser は、現在のコンテキストのモデルの一部ではありません。
-
[解決済み】C#で四捨五入する方法
-
[解決済み】なぜこのコードはInvalidOperationExceptionを投げるのですか?
-
[解決済み】EF 5 Enable-Migrations : アセンブリにコンテキストタイプが見つかりませんでした
-
[解決済み】Entity FrameworkからのSqlException - セッション内で他のスレッドが動作しているため、新しいトランザクションは許可されません。
-
[解決済み】"指定されたパスのフォーマットはサポートされていません。"
-
[解決済み] Windowsで、指定した文字列が正当なファイル名であるかどうかを確認するにはどうすればよいですか?
-
[解決済み] カノニカルパスって何?