Top > プログラミング > .NET Tips> ファイル名に使用できない文字列が含まれていないか調べる

ファイル名に使用できない文字列が含まれていないか調べる」への評価、コメント

評価

良い / 悪い = 21 / 1 (「良い」の割合 = 0.955 , 人気度 = 1.282

評価する

コメント一覧


通常のコメント
bond baga 2023/04/21 (Fri) 09:35:14
正規表現のチェックで、CONなどの予約語の後に拡張子があるファイル名(列:con.txt)のパターンがC#の例で「"|^(CON|PRN|AUX|NUL|COM[0-9]|LPT[0-9]|CLOCK\\$)(\\.|$)" + 」となっていますが、正常に動作しません。

「"|(CON|PRN|AUX|NUL|COM[0-9]|LPT[0-9]|CLOCK\\$)(\\.)" + 」でチェックできました。

.NET Frameworkのバージョンによる違い
匿名 2023/03/20 (Mon) 21:13:16
Path.GetFullPath を使った方法は、.NET Core 2.1 より使えなくなりました。
https://github.com/dotnet/runtime/issues/26749

.NET のドキュメントには、ArgumentException を投げると書いてありますが、ドキュメントがまだ反映できていないようです。下記がまだ Open でした。
https://github.com/dotnet/dotnet-api-docs/issues/1685

評価の理由
匿名 2018/02/14 (Wed) 10:38:17
評価:良い
欠点や良くない方法についても触れてくれているのでバッドノウハウを使ってしまう事を避けられる

通常のコメント
匿名 2014/01/19 (Sun) 15:18:50
保障されないと書かれている通り、マジで使えません。
【System.IO.Path.GetInvalidFileNameChars()】は、【/】だが何か正確には覚えていませんが、取得されません。
もしファイルに使用できない文字をチェックしたいなら、
ファイルに使用できない文字を配列に設定して、それをループさせて、その中で、例にある通り、使用文字の有無のチェックをした方がいいと思います。

通常のコメント
管理人 2013/09/2 (Mon) 01:05:03
> 「文字列から指定した文字を削除する」のリンクが切れてるみたいです。

修正させていただきます。ご報告、ありがとうございました。

通常のコメント
Iris 2013/07/24 (Wed) 15:07:49
ここで報告していいのかわかりませんが一応。
「文字列から指定した文字を削除する」のリンクが切れてるみたいです。

評価の理由
パールマン 2010/11/8 (Mon) 15:39:26
評価:良い
お世話になっております
調べたいことが説明されており、助かりました。

通常のコメント
ぞう 2008/09/19 (Fri) 10:34:26
いつも参考にさせていただいてます。

.NET2005で「IO.path.GetInvalidFileNameChars()」をクイックウォッチすると"*"cや"?"cが含まれているようです。
0~31,34,42,47,58,60,62,63,92,124の41個のcharらしいですね。

コメントの投稿

[説明]