1. 如何用汇编实现DIR命令
; 本程序通过编译,运行正确
; 本程序只显示了每个文件的文件名,未显示如文件大小、建立或最后一次修改的日期、时间等信息,呈请见谅。
Code Segment
Assume CS:Code,DS:Code
CR equ 000DH
LF equ 000AH
KBBack 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
ret
Output_CTLF endp
; -------------------------------------
; 功能:输出一个以0结尾的字符串
; 入口:di=字符串地址
Output_Str proc Near
push ds
push es
pop ds
cld
@@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 ',0
Start: 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_CTLF
Find_Next: mov ah,4fh
int 21h
jc Exit_Proc
lea si,[bx][30] ;文件名地址
call Output_Str
call Output_CTLF
jmp short Find_Next
Exit_Proc: mov ah,4ch ;结束程序
int 21h
Buffer db 'C:\' ;当前目录字符串缓冲区
Code ENDS
END Start ;编译到此结束
2. DOS命令中的dir的详细用法
DIR——显示磁盘目录命令
1.功能:显示磁盘目录的内容。
2.类型:内部命令
3.格式:DIR [盘符][路径][/P][/W]
4. 使用说明:/P的使用;当欲查看的目录太多,无法在一屏显示完屏幕会一直往上卷,不容易看清,加上/P参数后,屏幕上会分面一次显示23行的文件信息,然后暂停,并提示;Press any key to continue
/W的使用:加上/W只显示文件名,至于文件大小及建立的日期和时间则都省略。加上参数后,每行可以显示五个文件名。
3. 在Linux如何使用C或C++编写1个简单的命令实现dir的功能
把dir命令写入记事本,将后缀还1下变成bat文件不就好了吗
4. 怎样用dir命令实现全盘扫描,紧急
DIR命令是查找不是扫描
用CHKDSK命令吧
开始运行 请键入:chkdsk c:/f是否计划在下次系统重新启动时检查这个卷? (Y/N)输入y 回车 重新启动电脑如果遇到错误,chkdsk 会暂停并显示消息。Chkdsk 完成任务时会显示列有磁盘状态的报告。除非 chkdsk 已完成任务,否则无法打开指定驱动器上的任何文件。
5. 关于DOS DIR命令
DOS中dir命令的作用如下图:
6. CMD命令如何实现批量修改文件名
一键去除所有文件名中相同字符的方法:
步骤1,安装下图软件后打开,点击【添加文件】按钮,将需要修改名称的文件全部添加到软件中,也可以通过将文件拖动到软件上的方式进行添加。
7. 如何使用dir命令显示所有文件
Dir
显示目录文件和子目录列表。如果在没有参数的情况下使用,则 dir 显示磁盘的卷标和序列号,后接磁盘上目录和文件的列表,包括它们的名称和最近修改的日期及时间。dir 可以显示文件的扩展名以及文件的字节大小。Dir 也显示列出的文件及目录的总数、累计大小和磁盘上保留的可用空间(以字节为单位)。
语法
dir [Drive:][Path][FileName] [...] [/p] [/q] [/w] [/d] [/a[[:]attributes]][/o[[:]SortOrder]] [/t[[:]TimeField]] [/s] [/b] [/l] [/n] [/x] [/c] [/4]
参数
[Drive:][Dath]
指定要查看列表的驱动器和目录。
[FileName]
指定要查看列表的特定文件或一组文件。
/p
每次显示一个列表屏幕。要查看下一屏,请按键盘上的任意键。
/q
显示文件所有权信息。
/w
以宽格式显示列表,在每一行上最多显示 5 个文件名或目录名。
/d
与 /w 相同,但是文件按列排序。
/a[[:]attributes]
只显示那些指定属性的目录和文件名称。如果省略 /a,dir 将显示除隐藏文件和系统文件之外的所有文件名。如果在没有指定 attributes 的情况下使用 /a,dir 显示所有文件的名称,包括隐藏文件和系统文件。以下列表描述了每个可用于 attributes 的值。冒号 (:) 是可选的。使用这些值的组合,并且不得用空格分隔这些值。 值 说明
h 隐藏文件
s 系统文件
d 目录
a 准备好存档的文件
r 只读文件
-h 非隐藏的文件
-s 系统文件以外的文件
/d 只是文件(而非目录)
-a 自上次备份后没有更改过的文件
-r 非只读的文件
/o [[:]SortOrder]
控制 dir 排序和显示目录名和文件名的顺序。如果省略 /o,dir 将按它们在目录中出现的顺序显示名称。如果在没有指定 SortOrder 的情况下使用 /o,dir 显示按字母顺序排列的目录名,然后显示按字母顺序排列的文件名。冒号 (:) 是可选的。以下列表描述了每个可用于 SortOrder 的值。使用这些值的任意组合,并不要用空格分隔这些值。 值 说明
n 按名称的字母顺序
e 按扩展名的字母顺序
d 按日期和时间,最早的优先。
s 按大小,最小的优先
g 在文件之前分组的目录
-n 按名称的逆序字母(从 Z 到 A)排序
-e 按扩展名的逆序字母(从 .ZZZ 到 .AAA)排序
/d 按日期和时间,最晚的优先
-s 按大小,最大的优先
-g 在文件之后分组的目录
/t [[:]TimeField]
指定显示或用于排序的时间字段。以下列表描述了每个可用于 TimeField 的值。 值 说明
c 创建
a 上次访问
w 上次写入
/s
列出指定目录及所有子目录中出现的每个指定的文件名。
/b
列出每个目录名或文件名,每行一个(包含文件扩展名)。/b 不显示标题信息或摘要。/b 替代 /w。
/l
按小写字母显示未排序的目录名和文件名。/l 不会将扩展字符转换为小写字符。
/n
显示长列表格式,文件名在屏幕最右边。
/x
显示 NTFS 和 FAT 卷上文件生成的短名称。显示与 /n 的显示相同,但是短名称显示在长名称之后。
/c
按文件大小显示多个分隔符。
/4
显示四位数字的年份格式。
/?
在命令提示符显示帮助。
注释
使用多个filenames
可以使用多个filenames。用空格、逗号或分号分开文件名。可以在 FileName 中使用通配符(? 和 *)以显示一组文件。
使用通配符
可以使用通配符(? 和 *)显示文件和子目录的子集列表。
指定文件显示属性
如果使用 /a,并且 attributes 中指定多个值,dir 只显示那些包含所有指定属性的文件的名称。例如,如果利用 /a:r-h 或 /ar-h 指定 /a ,并以值 r 和 -h 作为属性,则 dir 将只显示非隐藏的只读文件的名称。
指定文件名排序
如果指定了多个 SortOrder 值,dir 首先通过第一个标准对文件名进行排序,然后再通过第二个标准排序,等等。例如,如果使用 /o:e-s 或 /oe-s 指定了 /o 以及 SortOrder 的值 e 和 -s,则 dir 将根据扩展名对目录名和文件名从大到小进行排序,然后显示最终结果。扩展名按照字母排序使得没有扩展名的文件名最先显示,目录名次之,然后是具有扩展名的文件名。
使用重定向符号和管道
在使用重定向符号 (>) 将 dir 输出发送到文件,或者使用管道 (|) 将 dir 输出发送到其它命令时,请使用 /a:-d 和 /b 只列出文件名。可以使用 FileName 以及/b 和 /s 来指定 dir 在当前目录及其子目录中搜索所有匹配 FileName 的文件名。Dir 对查找的每个文件名只列出驱动器号、目录名、文件名和文件扩展名、每行一个路径。在使用管道重定向之前,应该在 Autoexec.nt 文件中设置 TEMP 环境变量。
预先设置 dir 参数
通过将 set 命令包含在 Autoexec.nt 中的 DIRCMD 环境变量中,可以预置 dir 参数。可以使用 dir 参数和 set dircmd 的任意有效组合,其中包含文件的位置和名称。
例如,要使用 DIRCMD 环境变量将宽行显示格式 (/w) 设置为默认格式,必须在您的 Autoexec.nt 文件中键入以下命令:
set dircmd=/w
要单独使用 dir 命令,您可用 DIRCMD 环境变量替代参数。为此,请在 dir 命令提示符下键入要替代的参数(参数前面带上减号)。例如:
dir /-w
要更改 DIRCMD 默认设置,请键入:
set=NewParameter
新的默认设置对所有后接的 dir 命令有效,直到再次使用 set dircmd 或直到重新启动计算机。
要清除所有默认设置,请键入:
set dircmd=
要查看 DIRCMD 环境变量的当前设置,请键入:
set
Set 显示环境变量及其设置的列表。有关设置环境变量的详细信息,请参阅“”。
从“故障恢复控制台”可以使用包含各种参数的 dir 命令。
范例
要按字母顺序以宽格式一个接一个地显示所有目录,并在显示出每个屏幕后暂停一下,必须确保根目录是当前目录,然后键入:
dir /s/w/o/p
Dir 列出根目录的名称、根目录的子目录名称和根目录中文件的名称(包括扩展名)。然后 dir 在目录树中的每个子目录中列出子目录名和文件名。
要更改前面的范例以便 dir 显示文件名和扩展名但省略目录名,请键入:
dir /s/w/o/p/a:-d
要打印目录列表,请键入:
ir > prn
指定 prn 时,目录列表发送到连接 LPT1 端口的打印机。如果打印机被连接到不同的端口,则必须使用正确端口的名称替换 prn。
也可以通过用文件名替换 prn,将 dir 命令的输出重定向到文件。还可以键入路径。例如,要将 dir 的输出结果定向到 Records 目录中的 Dir.doc 文件中,可以键入:
dir > \records\dir.doc
如果 Dir.doc 不存在,dir 将创建该文件,除非 Records 目录也不存在。在这种情况下,会出现如下消息:
File creation error
要显示驱动器 C 上所有目录中带 .txt 扩展名的所有文件名的列表,请键入:
dir c:\*.txt /w/o/s/p
dir 命令以宽度格式并按字母顺序显示每个目录中匹配文件名的列表,而且每次满屏时暂停,直到您按键继续。
8. dir命令怎么用
开始菜单-运行-输入"cmd"
再打开的命令行窗口中输入"dir"
这就是这个命令的最简单用法 - -
详细用法:
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 在文件大小中显示千位数分隔符。这是默认值。用 /-C 来
停用分隔符显示。
/D 跟宽式相同,但文件是按栏分类列出的。
/L 用小写。
/N 新的长列表格式,其中文件名在最右边。
/O 用分类顺序列出文件。
sortorder N 按名称(字母顺序) S 按大小(从小到大)
E 按扩展名(字母顺序) D 按日期/时间(从先到后)
G 组目录优先 - 颠倒顺序的前缀
/P 在每个信息屏幕后暂停。
/Q 显示文件所有者。
/S 显示指定目录和所有子目录中的文件。
/T 控制显示或用来分类的时间字符域。
timefield C 创建时间
A 上次访问时间
W 上次写入的时间
/W 用宽列表格式。
/X 显示为非 8dot3 文件名产生的短名称。格式是 /N 的格式,
短名称插在长名称前面。如果没有短名称,在其位置则
显示空白。
/4 用四位数字显示年
可以在 DIRCMD 环境变量中预先设定开关。通过添加前缀 - (破折号)
来替代预先设定的开关。例如,/-W。
9. DOS,批处理bat中的DIR命令
dir 命令:显示目录中的文件和子目录列表。就是说只列出本目录下的文件,不包括本身。
你指定文件夹后,就是相当于在本目录下列出文件,所以不会显示你指定的目录。
@echooff
for/r%%iin(.)do(
echo,%%~dpni"
)
pause
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以上代码,保存为BAT文件。