Windows文件名-如何检查文件名是否有效?

阿杰

我想要一个可能在Path Functions中的函数,该函数将检查文件名是否有效。有效,是指字符串中存在的字符是否全部有效(例如,没有?>等等)。但是可悲的是,没有功能。通过网络浏览,等等,我发现很少的技术,我都不喜欢这些技术,也没有发现可靠的技术。

  • 使用正则表达式检查文件名的内容。
  • 创建一个文件名,可能在%TEMP%系统路径中。如果创建失败,则文件名无效可能)。否则,它是有效的(并因此删除文件)。
  • 编写一个函数,检查文件名中是否存在无效字符(例如?:*>

函数的扩展形式将是检查所有无效名称(例如AUXCON等),但这不是问题(至少现在是这样)。

有没有我可能会错过的任何有记录/未记录的函数,可以可靠地检查文件名(不是路径名)是否有效。

阿杰

编辑:PathCleanupSpec现在不推荐使用功能,不再支持功能。有关详细信息,请参阅Requirements链接页面末尾部分。

感谢Connor的功能。对于其他读者,函数名称为PathCleanupSpec使用它我实现了以下内容:

bool IsLegalFileName(LPCWSTR filename)
{
    WCHAR valid_invalid[MAX_PATH];
    wcscpy_s(valid_invalid, filename);

    int result = PathCleanupSpec(nullptr, valid_invalid);

    // If return value is non-zero, or if 'valid_invalid' 
    // is modified, file-name is assumed invalid
    return result == 0 && wcsicmp(valid_invalid, filename)==0;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检查文件名是否有效

来自分类Dev

如何检查参数是否同时具有文件名和路径或仅文件名

来自分类Dev

单点在Windows中是有效的文件名吗?

来自分类Dev

如何递归地将目录树重命名为有效的 Windows 文件名?

来自分类Dev

如何安全地确保变量仅包含有效的文件名?

来自分类Dev

如何检查目录中是否存在文件名?

来自分类Dev

如何检查文件名是否符合模式?

来自分类Dev

如何检查目录中是否存在文件名?

来自分类Dev

Powershell文件名检查

来自分类Dev

PHP检查文件名

来自分类Dev

Windows是否根据文件名缓存文件属性设置

来自分类Dev

如何禁用Javac文件名检查?

来自分类Dev

Ubuntu会继承Windows文件名(png,exe等)还是拥有自己的文件名?

来自分类Dev

Git拉无效的Windows文件名

来自分类Dev

在Windows中更改许多文件名

来自分类Dev

Windows 10 wird hiddin文件名

来自分类Dev

在Windows上从tmpfile()获取文件名

来自分类Dev

Windows 10限制文件名

来自分类Dev

检查文件名的格式是否为<文件名>。<文件内容的md5sum>

来自分类Dev

CSS文件名有效,但文件路径不起作用

来自分类Dev

更改文件名,如何?

来自分类Dev

如何通过文件名(无扩展名)检查文件是否存在?

来自分类Dev

检查文件名是否存在并在Google脚本中更新文件名

来自分类Dev

上传文件,检查相同的文件名

来自分类Dev

有没有办法验证有效的路径/文件名?

来自分类Dev

遍历文件名

来自分类Dev

打印文件名

来自分类Dev

文件名递增

来自分类Dev

提取文件名