精华内容
下载资源
问答
  • windows文件名中的非法字符,记忆技巧

    <|>\/:"*?    一共9个

    <>\/  这4个可以用对称来记,加上|竖线在中间 <|>或者\|/    这样就记住5个了

    :"  冒号和双引号 两个点

    *? 星号和问号 一个点

    展开全文
  • windows系统文件名不能包含哪些字符

    千次阅读 2020-04-03 21:38:14
    A filename cannot contain any of the following characters: \ / : * ? " < > | reference:windows系统文件名不能包含哪些字符

    A filename cannot contain any of the following characters:
    \ / : * ? " < > |

    reference:windows系统文件名不能包含哪些字符

    展开全文
  • 概述、 Windows系统文件名特殊字符、 Linux系统文件名特殊字符

    概述

    在做Java实现HTML页面截图功能时,Linux系统生成的文件通过MobaXterm这么一款SSH工具下载到本地Windows时,总是报错:
    在这里插入图片描述
    但是这个文件在Linux服务器里面确实是存在的。仔细对比文件名,才发现文件名里面还有一个|字符,下载到Windows时失败。

    失败的原因(直接抛出结论):|字符在Linux系统下是合法的文件名,但是Windows下则不是,故而下载失败。MobaXterm这个工具并未考虑到这个字符兼容的问题,哈哈哈。

    Windows

    在使用Windows时,经常遇到如下报错:
    在这里插入图片描述
    文件是存放数据的最根本单位,每个文件都有唯一一个文件名用于标记文件。

    内容说明
    /Linux的路径分隔符,使用后会导致路径错误
    \Windows的路径分隔符,使用后会导致路径错误
    :一些编译语言,如java会用它作用文件间的分隔符
    ?在很多控制台命令中,会当成通配符使用
    *在很多控制台命令中,会当成通配符使用
    |一些语言中被当成分隔符使用,如Markdown的制表符
    "大多数语言中会被当成字符串的开始和结束符,必需转义使用
    '一些语言,如Python中,会作为字符串开始和结束符使用
    <在HTML或XML中标签开始的标记
    >在HTML或XML中的标签结束标记
    空格在DOS中,会被当成分隔符使用,必需加引号才可正常工作
    $在很多环境中会被当成变量开始符号,如Shell

    推荐使用的安全非字母和数字符号。

    内容说明
    _下划线任何语言中都可以使用的安全字符。
    @因邮件地址而出名,可以安全使用(注意不要和自己的邮件地址冲突)
    +-这两个符号虽然也做为运算符,但是作为文件名是没有任何问题的。
    .安全,虽然在 windows 中作为后缀的分隔附,但是不影响正常使用。

    代码处理:

    public static String replaceSpecialCharacters(String filename) {
    	/*
    	 * windows下文件名中不能含有:\ / : * ? " < > | 英文的这些字符 ,这里使用"."、"'"进行替换。
    	 * \/:?| 用.替换
    	 * "<> 用'替换
    	 */
    	filename = filename.replaceAll("[/\\\\:*?|]", ".");
    	filename = filename.replaceAll("[\"<>]", "'");
    	return filename;
    }
    

    Linux

    Linux系统下的特殊字符:-(文件名第一个字母)、#;$!@&()\<>(空格)
    处理方法:

    1. 最简单直接的办法,用绝对路径,如:touch ./tmp/Me like yuh.mp3
    2. 使用转移符\cp a\&b.c de.c
    3. 通过双引号"cp "a&b.c" de.c
    4. 特殊地,文件名最前面是-,通过加两个-rm -- -ab.c

    参考

    Linux-Shell-文件名特殊字符

    展开全文
  • 替换windows文件名不能出现的字符

    千次阅读 2016-11-21 10:24:43
    //windows文件名能含有:\ / : * ? " < > | 英文的这些字符 if(StringUtils.isNotBlank(mName)){ mName = mName.replaceAll("[/\\\\:*?|]",""); if(StringUtils.isBlank(mName)){ mName = "未命名"; } }
  • 1. 通常生成文件时需要一个文件名,而生成文件名的方式可能是通过用户输入的字符,但是有些字符windows上是能作为文件名的,强行创建这类文件会失败。 2.一般可以通过正则表达式替换所有的非法字符,这里实现的...
  • windows现在已知的文件名非法字符有 \ / : * ? " < > | var reg = new RegExp('[\\\\/:*?\"<>|]'); if(reg.test(name)){ //文件名含有非法字符() } 转载于:https://w...
  • 场景1.Windows和macOS的文件名有自己的命名规则, 特别是Windows文件名限制了不允许使用的特殊字符. 在使用这些文件名新建文件时会创建失败.说明1.在前面的文章里在Windows上我使用了比较笨的方法: 过滤Windows....
  • 看到这么一句“Windows为每个文件名分配的存储空间时512字节”,见图1,而查了一下资料在WINDOWS里面主文件名长度能超过255个英文字符(127个汉字) ,一个英文字符一字节计算,文件名最长占255字节,那么剩下257...
  • 写在前面 windows文件命名包含以上任何字符时会报错,所以使用python做爬虫或其它项目时需要注意保存文件名不能包含这些字符。如果有的话,请用字符串的replace方法替换为空。 测试样例 ... 下载代码 ...
  • C# 能用于文件名字符

    千次阅读 2018-04-29 09:47:57
    Windows 有一些字符能作为文件名,尝试重命名一个文件,输入`/` 就可以看到windows 提示的能作为文件名字符
  • Windows提示说这些字符不允许用在文件名或者目录中: / / : * ? " < > |  <br />今天使用C#的Path.GetInvalidFileNameChars()和Path.GetInvalidPathChars()打印出了所有不能使用的字符...
  • Windows下文件名称能出现的字符

    千次阅读 2020-09-10 16:48:27
    Windows文件名能有下列符号:“?”、“、”、“╲”、“/”、“*”、““”、“”“、“<”、“>”、“|”。 详细命名规则如下: 1、允许文件或者文件夹名称不得超过255个字符; 2、 文件名除了开头之外...
  • java 对文件名非法字符处理

    千次阅读 2019-07-10 09:38:29
    转自... 1.文件名在操作系统中不允许出现 / \ " : | * ? < > 故将其以空替代  Pattern pattern = Pattern.compile("[\\s\\\\/:\\*\\?\\\"<>\\|]");  Matcher m...
  • 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文...在windows系统当中的文件命名,有些特殊字符是不能存在,下面我们来看一下哪些字符不能存在。 文件名称中不能包含 \ / : * ? " < ...
  • win7文件名不能使用哪些符号

    千次阅读 2020-03-07 20:51:30
    文件名不能使用哪些字符: # 能使用的字符如下 /\*?|<>": # 原因 /\是路径符 *?|是通配符 <> 从...导入,导入到的符号 : 冒号 用于指定盘符
  • StringBuilder titleBuilder = new ... // 获取包含不允许文件名中使用的字符的数组。  //  // 返回结果:  // 包含不允许文件名中使用的字符的数组。  public static char[] GetInvalidFileNameChars();
  • windows中的文件名

    千次阅读 2018-10-21 11:45:00
    WINDOWS 文件名是为文件指定的名称。为了区分不同的文件,必须给每个文件命名,计算机对文件实行按名存取的操作方式。  DOS操作系统规定文件名由文件主名和扩展名组成,文件主名由1~8个字符组成,扩展名由1~3个字符...
  • 1.文件名在操作系统中不允许出现 / \ " : | * ? &lt; &gt; 故将其以空替代  Pattern pattern = Pattern.compile("[\\s\\\\/:\\*\\?\\\"&lt;&gt;\\|]");  Matcher matcher =....
  • I know that / is illegal in Linux, and the following are illegal in Windows (I think) * . 我知道/在Linu
  • 不允许执行任何脚本。 通过命令 get-help set-executionpolicy 可知有以下执行策略:<Unrestricted> | <RemoteSigned> | <AllSigned> | <Restricted> | <Default> | <Bypass> | 然后修改其策略: ...
  • 过滤文件名非法字符

    万次阅读 2013-12-21 20:52:59
    为了合理性,过滤文件名非法...windows现在已知的文件名非法字符有 \ / : * ? " | private static Pattern filePattern = Pattern.compile("[\\\\/:*?\"|]"); public static String filenameFilter(String str)
  • 为什么会有这个功能呢,因为有的浏览器,尤其是IE,低版本在上传时,容易将文件全名带路径当做文件真实名称,比如:C:\filepath\myfile.png 上传到后台程序,实际上,后台程序关心这个文件是存在客户端的哪个盘符...
  • git 作为目前最出色的版本控制工具,大家肯定对它的基本操作...冒号 在windows系统里的作用是路径分隔符,属于系统保留字符,所以能用来作为文件名。 当执行 git clone ,系统发现 带有冒号文件时,会对 : 特殊字符
  • 用dos和linux的时候我才发现,为什么能用这些做文件名, *,?这些是通配符, /是路径, 其他的我知道在linux下有特殊含义比如数据流重定向 |是管道。 所以文件名出线这些字符在输入命令的时候会出线歧义。
  • Windows一直以来都有一个系统常量MAX_PATH = 260,用于定义一个文件名(Filename)或者全路径(Directory route)的最大长度,在实际实践中,不管在命令行或者是使用编程语言调用相关系统API处理长路径文件时都会受到此...
  • Windows MAC 和Linux系统文件名的限制

    千次阅读 2012-09-11 16:55:45
    Windows 文件名能含有 \ / : * ? | 这些字符。...允许使用除了 '/' 以外 所有的特殊字符,但是建议用户这么做。最好文件名中不要包含 : ? @ # $&()\|; ‘’“” 避免使用 + - 和. 作为文件名
  • C++之正则表达式判断文件名是否有效(Windows下) #include <iostream> #include <regex>... // Windows文件名能包含\/:*?"<>|这些字符 std::regex regExpress("[\\/:*?\"<
  • Windows系统文件名的最大长度

    万次阅读 2014-02-26 15:48:51
    Windows 通常限定文件名最多包含 260 个字符。但实际的文件名必须少于这一数值,因为完整路径(如 C:\Program Files\filename.txt)都包含在此字符数值中。这就是为什么有时候将文件复制到比当前位置路径长的某个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 101,052
精华内容 40,420
关键字:

windows文件名不允许的字符