为什么文件名不能有prn
① 在windows7中,文件名中不允许出现的字符有哪些
是路径分割符(Windows的路径分隔符是反斜杠,但处理文件的API接受带正斜杠的路径名)。
< > 是输入输出重定向,比如想把foo.exe的输出重定向到文件abc.txt::foo > abc.txt;把anc.txt的内容输入给foo.exe:foo < abc.txt。
: 是用来区分盘符,比如C: D:。
“ 是用来标记带空格的路径,比如"C:\Program Files"。
| 是管道,把一个程序的输出作为另一个程序的输入,比如type命令查看文件内容,但如果文件很大一屏显示不下的话就需要把输出通过管道给more命令,这样每输出满一屏就会停下来直到你按键再输出下一屏: type abc.txt | more。
除了这把个字符,Windows还不允许文件名包含空字符(NULL,U+0000)。
PS:Windows不允许只包含点的文件名,比如.,..,...等等,因为Windows中.代表当前文件夹而..代表上一级文件夹。
PS2:NTFS文件系统不允许在根目录中存在以下文件名:$Mft,$MftMirr,$LogFile,$Volume,$AttrDef,$Bitmap,$Boot,$BadClus,$Secure,$Upcase,$Extend,$Quota,$ObjId,$Reparse。因为这些是NTFS文件系统的元文件。
PS3:Windows不允许下列文件名:CON,PRN,AUX, NUL,COM1,COM2,COM3,COM4,LPT1,LPT2,LPT3,LPT4。因为这些名字是DOS和Windows中的设备文件名。比如CON输入时代表键盘,输出时代表屏幕;AUX代表辅助设备(通常是COM1),PRN代表打印机,NUL代表空设备,COMX代表COM接口,LPTX代表LPT接口。
② 文件名不能包含字符怎么解决
/ \ 是路径分割符(Windows的路径分隔符是反斜杠,但处理文件的API接受带正斜杠的路径名)。
< > 是输入输出重定向,比如想把foo.exe的输出重定向到文件abc.txt::foo > abc.txt;把anc.txt的内容输入给foo.exe:foo < abc.txt。
: 是用来区分盘符,比如C: D:。:Windows不允许只包含点的文件名,比如.,..,...等等,因为Windows中.代表当前文件夹而..代表上一级文件夹。
PS2:NTFS文件系统不允许在根目录中存在以下文件名:$Mft,$MftMirr,$LogFile,$Volume,$AttrDef,$Bitmap,$Boot,$BadClus,$Secure,$Upcase,$Extend,$Quota,$ObjId,$Reparse。因为这些是NTFS文件系统的元文件。
PS3:Windows不允许下列文件名:CON,PRN,AUX, NUL,COM1,COM2,COM3,COM4,LPT1,LPT2,LPT3,LPT4。因为这些名字是DOS和Windows中的设备文件名。比如CON输入时代表键盘,输出时代表屏幕;AUX代表辅助设备(通常是COM1),PRN代表打印机,NUL代表空设备,COMX代表COM接口,LPTX代表LPT接口。
刚刚用linux批量下载,想把下载的文件拷到U盘里,一直提示我文件名重复,让我更改文件名,开始我还以为是文件名过长,数了一下也就130多个字符,应该还行呀,然后我又看了一遍,才发现这130多个字符里有一个不起眼的“?”。。。