GetInvalidFileNameChars
全部标签 在带有PowerShellv.2的Windows7中,我尝试使用[System.IO.Path]::GetInvalidFileNameChars()查看它的无效字符列表。当在提示符下输入时,它会列出字符,每行一个。我想要的是获取他们的十六进制(或十进制)代码。Amon我试过的东西:ForEach($charin[System.IO.Path]::GetInvalidFileNameChars()){"{0:x}"-f$char}:输出字符,而不是十六进制。[System.IO.Path]::GetInvalidFileNameChars()|{$_.ToString("X2")}Ex
我正在构建一个将在Windows和Ubuntu系统上运行的.NetCore2.0控制台应用程序。我有一个字符串需要转换成一个安全的文件名。目前我正在使用以下代码来实现这一点:varsafeName=string.Join("-",name.Split(Path.GetInvalidFileNameChars()));它可以工作,但它会在不同的操作系统上产生不同的结果,因为Linux允许使用Windows不允许的字符。我喜欢在所有系统上产生相同结果的解决方案。是否有GetInvalidFileNameChars的跨平台版本可以为所有平台返回字符? 最佳答案
我有通过EF3.5来自SQLServer数据库的nvarchar字段的数据。此字符串用于创建文件名,需要删除无效字符并尝试了以下选项,但均无效。请提出为什么这是一个可以理解的谜团?我做错了什么吗?我浏览了该站点上几乎所有相关问题..现在发布了一个来自其他类似问题的所有建议/答案的综合问题。UPD:问题无关..所有这些选项都有效。所以将其发布到社区维基。publicstaticstringCleanFileName1(stringfilename){stringfile=filename;file=string.Concat(file.Split(System.IO.Path.GetIn
我的程序将从互联网上获取任意字符串并将它们用作文件名。是否有一种简单的方法可以从这些字符串中删除错误字符,或者我是否需要为此编写一个自定义函数? 最佳答案 呃,当人们试图猜测哪些字符有效时,我讨厌它。除了完全不可移植(总是考虑Mono)之外,前面的两条评论都遗漏了25个无效字符。foreach(varcinPath.GetInvalidFileNameChars()){fileName=fileName.Replace(c,'-');}或者在VB中:'CleanjustafilenameDimfilenameAsString="sa
我的程序将从互联网上获取任意字符串并将它们用作文件名。是否有一种简单的方法可以从这些字符串中删除错误字符,或者我是否需要为此编写一个自定义函数? 最佳答案 呃,当人们试图猜测哪些字符有效时,我讨厌它。除了完全不可移植(总是考虑Mono)之外,前面的两条评论都遗漏了25个无效字符。foreach(varcinPath.GetInvalidFileNameChars()){fileName=fileName.Replace(c,'-');}或者在VB中:'CleanjustafilenameDimfilenameAsString="sa