为什么文件名不能包含下列任何字符 \/:*?“<>|

/ \ 是路径分割符(Windows的路径分隔符是反斜杠,但处理文件的API接受带正斜杠的路径名)。

< > 是输入输出重定向,比如想把foo.exe的输出重定向到文件abc.txt::foo > abc.txt;把anc.txt的内容输入给foo.exe:foo < abc.txt。

: 是用来区分盘符,比如C: D:。

在搜索文件时,如果你忘了文件名其中一个或几个字,可以用“?”和“*”代替。“?”代替一个字符,“*”代替几个字符。“文件的格式是*.doc”,这个“*”可以代替任何字符。

“ 是用来标记带空格的路径,比如"C:\Program Files"。

| 是管道,把一个程序的输出作为另一个程序的输入,比如type命令查看文件内容,但如果文件很大一屏显示不下的话就需要把输出通过管道给more命令,这样每输出满一屏就会停下来直到你按键再输出下一屏: type abc.txt | more。

除了这把个字符,Windows还不允许文件名包含空字符(NULL,U+0000)。

PS:Windows不允许只包含点的文件名,比如.,..,...等等,因为Windows中.代表当前文件夹而..代表上一级文件夹。

作者:0xB160C0C5

链接:https://www.zhihu.com/question/38751059/answer/100736932

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值