dir命令怎么写( 二 )


在作用不超过分隔符这一点 上 , ?和*是一致的 , 但是 , 无论在文件基本名或扩展名中出现在?后 , 后面的字符仍然起作用 。例如 , a?.bat和a?b.bat是不同的意思 , 前者代表了文件扩展名是bat , 而文件基本名是两个字符 , 且第一个字符是a的所有文件 , 后者代表了文件扩展名是bat , 而文件基本名是三个字符 , 且第一个字符是a , 第三个字符是b的所有文件 。
最后再讲一点吧 , 都差点忘了这个小问题了 。在使用通配符时 , 文件基本名和扩展名中最多只能各出现一个* , 而?可以在不超过文件名和扩展名长度的前提下出现多个 。
例如:这三个文件名a???.b??、a????b?.?c?及??a?b??c.??d 都是可以的 。最后还有一个小窍门 , 如果你想知道A盘上都有什么 , 你不必先输入a: , 变换当前驱动器为A盘后 , 再敲dir , 你可以直接键入dir a: 。
不信试试看 , 千万别忘了插入软盘哟 。
3.如何用汇编实现DIR命令; 本程序通过编译 , 运行正确; 本程序只显示了每个文件的文件名 , 未显示如文件大小、建立或最后一次修改的日期、时间等信息 , 呈请见谅 。
Code Segment Assume CS:Code,DS:CodeCR equ 000DHLF equ 000AHKBBack equ 0008H; -------------------------------------; 功能:输出一个字符 ; 入口:dl=要显示的字符 Output_Chr proc Near push ax mov ah,02h int 21h pop ax ret Output_Chr endp ; -------------------------------------; 功能:输出一个回车、换行Output_CTLF proc Near push ax push dx mov ah,02h mov dl,13 int 21h mov dl,10 int 21h pop dx pop ax retOutput_CTLF endp ; -------------------------------------; 功能:输出一个以0结尾的字符串; 入口:di=字符串地址Output_Str proc Near push ds push es pop ds [email protected]@Disp_Chr: lodsb test al,al jz $+10 mov dl,al mov ah,02h int 21h jmp short @@Disp_Chr pop ds ret Output_Str endp ; -------------------------------------Dir_Name db 'Directory of ',0Start: push cs pop ds push cs pop es mov ah,19h ;取当前驱动器号 int 21h add al,41h mov Buffer,al lea si,Buffer[3] ;当前目录字符串缓冲区地址 xor dl,dl ;当前驱动器 mov ah,47h ;取当前目录 int 21h lea si,Dir_Name ;要显示的字符串地址 call Output_Str ;输出一个以0结尾的字符串 lea si,Buffer ;当前路径名地址 call Output_Str ;输出一个以0结尾的字符串 call Output_CTLF ;功能:输出一个回车、换行 call Output_CTLF lea di,Buffer[3] ;当前目录字符串缓冲区地址 mov cx,64 xor al,al cld repnz scasb dec di mov al,'\' stosb mov al,'*' stosb mov al,'.' stosb mov al,'*' stosb xor al,al stosb mov ah,2fh ;取磁盘传送地址 , 返回在ES:BX int 21h lea dx,Buffer ;当前目录字符串缓冲区地址 mov cx,1 ;查找正常属性、只读属性的文件 mov ah,4eh ;查找第一个目录项 int 21h jc Exit_Proc lea si,[bx][30] ;文件名地址 call Output_Str call Output_CTLFFind_Next: mov ah,4fh int 21h jc Exit_Proc lea si,[bx][30] ;文件名地址 call Output_Str call Output_CTLF jmp short Find_NextExit_Proc: mov ah,4ch ;结束程序 int 21hBuffer db 'C:\' ;当前目录字符串缓冲区Code ENDS END Start ;编译到此结束 。
4.关于Dos命令Dir一问,谢谢C:\Documents and Settings\fxf>dir /?显示目录中的文件和子目录列表 。
DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N] [/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4] [drive:][path][filename] 指定要列出的驱动器、目录和/或文件 。/A 显示具有指定属性的文件 。
attributes D 目录 R 只读文件 H 隐藏文件 A 准备存档的文件 S 系统文件 - 表示“否”的前缀 /B 使用空格式(没有标题信息或摘要) 。/C 在文件大小中显示千位数分隔符 。