精华内容
下载资源
问答
  • 场景1.Windows和macOS的文件名有自己命名规则, 特别是Windows的文件名限制了不允许使用特殊字符. 在使用这些文件名新建文件时会创建失败.说明1.在前面文章里在Windows上我使用了比较笨方法: 过滤Windows....

    场景

    1.Windows和macOS的文件名有自己的命名规则, 特别是Windows的文件名限制了不允许使用的特殊字符. 在使用这些文件名新建文件时会创建失败.

    说明

    1.在前面的文章里在Windows上我使用了比较笨的方法: 过滤Windows.MacOSX文件名中的非法字符. 最近发现其实使用正则效率更高.

    例子

    
    #include <regex>
    #include <iostream>
    
    // "[/|?%*\\\\\"<>\]"
    template<typename T>
    std::basic_string<T, std::char_traits<T>, std::allocator<T> > ReplaceString(const T* text,const T* old,const T* _new){
        std::basic_regex<T> pattern(old);
        std::basic_string<T, std::char_traits<T>, std::allocator<T> > rep(_new);
        std::basic_string<T, std::char_traits<T>, std::allocator<T> > text1(text);
        std::basic_string<T, std::char_traits<T>, std::allocator<T> > tmp = std::regex_replace(text1,pattern,rep);
        return tmp;
    }
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        // 把 /T\\T\\T?T%T*T|T\"T<T> 里的特殊字符替换为-
        std::string result = ReplaceString("/T\\T\\T?T%T*T|T\"T<T>","[/|?%*\\\\\"<>\]","-");
        std::cout << result << std::endl;
        system("pause");
        return 0;
    }
    

    输出

    -T-T-T-T-T-T-T-T-T-
    

    参考

    std::regex_replace
    使用正则表达式库regex
    过滤Windows(MacOSX)文件名中的非法字符

    展开全文
  • Windows提示说这些字符不允许用在文件名或者目录中: / / : * ? " < > |  <br />今天使用C#的Path.GetInvalidFileNameChars()和Path.GetInvalidPathChars()打印出了所有不能使用的字符...

    Windows提示说这些字符不允许用在文件名或者目录中:

    /   /   :   *   ?   "   <   >   | 


    今天使用C#的Path.GetInvalidFileNameChars()Path.GetInvalidPathChars()打印出了所有不能使用的字符列表:

    不能用来创建文件名的字符:

    " < > |     [回车符]      : * ? / /

     

    不能用来创建文件夹的字符:
    " < > |      [回车符]    

     

    同时,还有一些windows的设备名称也不能使用:

    CON,PRN,AUX,CLOCK$,NUL,COM1,COM2,COM3,COM4,COM5,COM6,COM7,COM8,COM9,LPT1

     

     

    展开全文
  • Windows MAC 和Linux系统文件名的限制

    千次阅读 2012-09-11 16:55:45
    文件名中不能含有 : 字符,另外,文件名不能以 '.' 字符开头,大小写敏感。   Linux 允许使用除了 '/' 以外 所有特殊字符,但是不建议用户这么做。最好文件名中不要包含 : ? @ # $&()\|; ‘’“” 避免...

    Windows

    文件名中不能含有  \  / :  *  ?    < > |  这些字符。另外,大小写不敏感。

     

    MAC

    文件名中不能含有 :  字符,另外,文件名不能以 '.' 字符开头,大小写敏感。

     

    Linux

    允许使用除了 '/' 以外 所有的特殊字符,但是不建议用户这么做。最好文件名中不要包含 :  ? @ # $&()\|; ‘’“”<>等字符,另外 空格符,制表符和退格符也不建议使用。

    避免使用 + - 和. 作为文件名的第一个字符(Linux下以.开头的文件是隐藏文件)  。 大小写敏感。

     

     

     

    展开全文
  • Windows文件名能有下列符号:“?”、“、”、“╲”、“/”、“*”、““”、“”“、“<”、“>”、“|”。 详细命名规则如下: 1、允许文件或者文件夹名称不得超过255个字符; 2、 文件名除了开头之外...

    Windows文件名中不能有下列符号:“?”、“、”、“╲”、“/”、“*”、““”、“”“、“<”、“>”、“|”。

    详细命名规则如下:

    1、允许文件或者文件夹名称不得超过255个字符;

    2、 文件名除了开头之外任何地方都可以使用空格;

    3、文件名中不能有下列符号:“?”、“、”、“╲”、“/”、“*”、““”、“”“、“<”、“>”、“|”;

    4、 Windows 98文件名不区分大小写,但在显示时可以保留大小写格式;

    5、 文件名中可以包含多个间隔符。

    展开全文
  • python脚本替换文件名非法字母

    千次阅读 2016-02-24 09:37:20
    Windows环境下,文件命名时,有些字符不允许的。本文的脚本就是把一个文件名中的非法字符替换成某个指定字符
  • 批量修改文件名(find & rename & sed)

    千次阅读 2019-02-08 10:51:54
    在Linux下对于文件命名基本没有多大限制(不能有”/”),但是在windows下,文件名不允许有 \ / : * ? " &lt; &gt; |,所以如果需要复制文件时候,在Linux下面命名正确文件就需要检查命令规则,...
  • $$ Windows文件名不允许使用斜杠和冒号等特殊字符,所以需要用ELEMNT函数来实现将这些特殊符号去掉 DECL/COMMON,CHAR,255, PartNum, MeasDate, MeasTime, ReportPath DECL/COMMON,CHAR,255, DateYear, DateMonth, ...
  • IIS文件名机制,可以暴力猜解短文件名,访问构造某个存在文件名,会返回404,访问构造某个存在文件名,返回400。 漏洞成因: 为了兼容16位MS-DOS程序,Windows文件名较长文件(和文件夹)生成了对应...
  • 1. 关于 Windows 文件命名的规定正确的是 _d_ a.... 文件名可用允许的字符数字或汉字命名 2. 在 Windows 资源管理器中格式化磁盘的操作可使用 _b_ a. 选择 " 文件 " 下的 " 格式化 " 命令 b. 右击磁盘图标选
  • 文件名可用允许的字符数字或汉字命名 在Windows资源管理器中格式化磁盘的操作可使用 b 选择文件"下的格式化命令 右击磁盘图标选格式化命令 选择编辑下的格式化命令 选择"查看"菜单下的格式化命令 Windows中在已关闭
  • Windowns 文件名长度限制

    千次阅读 2009-08-06 00:09:00
    非法字符限制 诸如"/", "/"等等都是不允许的。 2. 文件全名长度限制 文件全名最长为260字符长度, Directory的最大长度为248长度。所以你的Directory路径越长越深,那么留给最后文件名字的长度就
  • 1.关于 Windows 文件命名的规定正确的是_d_ a.... 文件名可用允许的字符数字或汉字命名 2.在 Windows 资源管理器中格式化磁盘的操作可使用_b_ a. 选择"文件"下的"格式化"命令 b. 右击磁盘图标选"格式化"命令 c. 选择"编
  • 在做学生导入时,需要将导入失败... 错误原因竟然是:Excel命名问题,不允许有15:05:04这样格式。顺便也总结一下Windows命名吧。 Windows中文件命名规则是:  ①在文件或文件夹名中,可用1~256个字符西文字符
  • 因为要建立一个叫“prn.vb”的文件,在.net 2003里面提示文件名包含不允许的字符,于是就想先手工建立这个文件再添加到项目中来,结果还是不行,提示说存在同名的文件,可是当前目录中根本就没有这样一个文件存在!...
  • 1)文件命名的规则不同 Windows系统下文件名不区分大小写,文件名中不能包含[/,/,<...],唯一不允许的是表示路径的字符[/]。 2)文本文件的换行符不同 Dos和windows采用回车+换行(CR(/n)+L...
  • 第三章 Windows7使用 一、 win7 基本设置和使用 1 认识窗口布局 2 认识菜单 功能菜单或主菜单 快捷菜单或右键菜单、右键快捷菜单 ...不允许使用: 1、\ / < > | " : * ? 2、com0-com9,lpt0-lpt9,p
  • Windows最长文件路径

    千次阅读 2009-07-28 10:47:00
    因此,每当我们试图更改某一文件的文件名时,当输入的文件名长度 ( 全路径 )到达一定限度时,虽然文件名本身还未达到 255 个字符的限制,但是任何输入将不再被接受,这其实正是由于操作系统不允许 260个字符(byte)
  • .htaccess是apache访问控制文件,apache中httpd.conf选项配合此文件,完美实现了目录、站点...windows不允许重命名时.前面没有字符,它认为这样的文件名是不合法。 这就造成我们无法通过重命名”新建文本文档
  • 文件名不区分大小写(由 POSIX 应用程序使用时除外)。 windows系统下文件名长度为:255个英文字符(DOS下8.3格式),包括文件名和扩展名在内, 或者是255/2=127个中文字符+1个英文字符。 具体如下: 1 允许文件...
  • Linux和Windows的异同点(自己拙见)

    千次阅读 2013-03-13 17:53:05
    1.其中"./"表示当前目录,通常可以省略. 习惯在Windows 下开发Android应用程序,切换Ubuntu下面是就麻烦了。当我没有配置PATH之前,目录切换到...2.Linux文件名最长可允许256个字符,可以包括数字、字符,以及
  • 其实这不难想象,在windows中文件是不允许出现<>?!:|\/等特殊字符的,所以只要在手机文件管理器创建文件命名时候对文件名进行校验就行了。当时第一反应就是正则,但笔者很久不用正则,对正则也是遗忘差不多...
  • 今天在网上爬取文件并保存在...在Windows系统中,文件名不允许使用的字符有: &lt; &gt; / \ | : " * ?(均为英文版,可替换成中文版) 可用如下代码修改: if title.__contains__("?")...
  • 生成文件名中,使用的时间来生成文件名称 ti = time.strftime(’%Y%m%d_%H:%M:%S’) 文件名不允许使用的字符有: < > / \ | : " * ? 改成ti = time.strftime(’%Y%m%d_%H%M%S’)就可以了 ...
  • windows实用dos命令大全

    2010-12-10 21:27:35
    (7)复制时,目标文件名也可以与源文件名不相同,称作“异名拷贝”,此时,目标文件名不能省略;  (8)复制时,还可以将几个文件合并为一个文件,称为“合并拷贝”,格式如下:COPY;[源盘][路径]〈源文件名1〉...
  • 0形式去创建一个文件名,但在使用FileDialog中setName()方法,把组织好参数设置进去时,死活不成功,最后发现是windows文件不允许使用/字符作为文件名,换个字符以后,问题解决。 在此向大家说明windows...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 162
精华内容 64
关键字:

windows文件名不允许的字符