相关疑难解决方法(0)

如何在Windows下检查给定字符串是否是合法/有效的文件名?

我想在我的应用程序中包含批处理文件重命名功能.用户可以键入目标文件名模式和(在替换模式中的一些通配符之后)我需要检查它是否是Windows下的合法文件名.我试过使用正则表达式,[a-zA-Z0-9_]+但它不包括来自各种语言的许多国家特定字符(例如变音符号等).做这种检查的最佳方法是什么?

c# windows filesystems file

156
推荐指数
13
解决办法
15万
查看次数

检查字符串是否是有效的Windows目录(文件夹)路径

我试图确定用户输入的字符串是否有效表示文件夹的路径.有效,我的意思是格式正确.

在我的应用程序中,该文件夹代表安装目标.提供的文件夹路径有效的,我想,以确定是否该文件夹存在,并创建它,如果它没有.

我目前正在使用IO.Directory.Exists( String path ).我发现这很好用,除非用户没有正确格式化字符串.发生这种情况时,此方法将返回false,表示该文件夹不存在.但这是一个问题,因为我之后将无法创建该文件夹.

从我的谷歌搜索我发现一个建议使用正则表达式来检查格式是否正确.我没有正则表达式的经验,我想知道这是否是一种可行的方法.这是我发现的:

Regex r = new Regex( @"^(([a-zA-Z]\:)|(\\))(\\{1}|((\\{1})[^\\]([^/:*?<>""|]*))+)$" );
return r.IsMatch( path );
Run Code Online (Sandbox Code Playgroud)

将正则表达式测试结合起来Directory.Exists(),给我一个足够好的方法来检查路径是否有效以及它是否存在?我知道这会因操作系统和其他因素而异,但该程序仅针对Windows用户.

c# windows filesystems directory validation

76
推荐指数
7
解决办法
11万
查看次数

标签 统计

c# ×2

filesystems ×2

windows ×2

directory ×1

file ×1

validation ×1