我有一个简单的批处理文件,将大量图像从网络驱动器复制到本地驱动器,我必须在运行过程中停止.
c:\pic>copy i:\pictures\*.*
Run Code Online (Sandbox Code Playgroud)
它似乎是按字母顺序复制.
不知道那是不是默认的?
我想从中间重新启动,因为复制需要很长时间.
所有使用通配符模式处理文件或目录列表的命令都调用相同的Windows内核函数,这些函数调用文件系统的驱动程序以返回与模式匹配的文件/目录名称.
命令COPY,DEL,DIR,FOR等在处理之前不对与通配符模式匹配的文件名进行排序.DIR可/O根据下一个字符选择请求有序输出.
NTFS(新技术文件系统)返回与通配符模式匹配的文件名始终按字母顺序排列,因为按照字母顺序将文件/目录名添加到主文件表中,正如 eryksun在其评论中所解释的那样.
但其他文件系统,如FAT16,FAT32或ExFAT在Windows上也很常见,不这样做.这些基于文件分配表(FAT)的文件系统的驱动程序返回存储在文件分配表中的文件/目录名,这意味着文件名的顺序根本没有排序.
看起来源驱动器使用NTFS.因此,文件按字母顺序复制.
但请注意,字符串的字母顺序有不同的方法.例如,字母顺序可以严格地根据字符的代码值或者可以考虑区域和语言特定方面.特定于语言的字母排序通常称为区域设置字母排序,例如对于德语ä= a,Ä= A等,尽管字符的代码值是不同的.
应用程序通常也使用字母数字排序算法,这意味着在3个文件,名称分别排序顺序Test1.txt,Test10.txt以及Test2.txt(字母代码值基于排序)是不是这里上市,但是Test1.txt,Test2.txt和Test10.txt.
因此,正如eryksun在他的第三条评论中所写,NTFS文件名的顺序可能与Windows资源管理器使用的文件名顺序不同(请参阅Windows资源管理器中的排序顺序)或使用选项命令DIR/ON.