DOS命令行遍历目录和文件的脚本示例
该资源包含了在DOS环境下遍历目录和文件的代码示例,主要使用了`for /R`命令。提供了两个脚本,一个用于遍历指定目录下的所有文件,另一个用于遍历子目录。 在DOS操作系统中,遍历目录和文件通常涉及到批处理脚本的编写,这里给出的代码片段展示了如何使用`for /R`循环来实现这一功能。`for /R`是DOS批处理中的一个循环命令,它可以在指定的目录及其所有子目录下执行循环操作。 第一个代码块: ```batch @echo off set work_path=D:\test D: cd %work_path% for /R %%s in (.,*) do ( echo %%s ) pause ``` 这部分代码首先禁用了命令回显(`@echo off`),然后设置了工作路径(`work_path`)为`D:\test`,并切换到该目录。`for /R %%s in (.,*) do`命令将遍历当前目录(`.`)及所有子目录(`*`)下的每个条目,并将条目名赋值给变量`%%s`。`echo %%s`则会打印出这些条目。最后的`pause`命令会让脚本暂停,以便用户查看输出结果。 第二个代码块: ```batch @echo off set work_path=D:\test D: cd %work_path% for /R %%s in (.) do ( echo %%s ) pause ``` 这段代码与前一个类似,但只遍历当前目录(`.`,不包括子目录)。这是因为`for /R %%s in (.) do`只匹配当前目录的文件或目录,而不进入子目录。 第三个代码块: ```batch @echo off :main if [%1]==[] ifnotexist goto end :init if exist if exist goto loop set file=%1 set base=%2 if [%2]==[] set base=c: dir %base%\%file%/s/a/b> echo e100''setfile='' > echo w>> echo q>> :loop fc nul/n | find "1:" > setfile.bat if errorlevel 1 goto restore debug setfile.bat nul call setfile.bat echo Visiting the file: %file% :: 用户自定义访问代码,替换此行 find "%file%" /v copy > nul goto loop :restore if exist del if exist del if exist del if exist setfile.bat del setfile.bat :end ``` 这部分代码是为了遍历特定文件的各个版本。它首先检查命令行参数,然后根据参数寻找文件,并对找到的文件进行一系列操作,包括读取文件信息、执行自定义操作(注释提示可以替换这部分)、以及跳转到下一个文件。这个脚本可能用于批量处理或分析文件。 第四个代码块: ```batch @echo off :main if [%1]==[] ifnotexist goto end :init if exist if exist goto loop set dir=%1 set base=%2 if [%2]==[] set base=c: dir %base%\%dir%/s/ad/b> echo e100'setdir='> echow>> echo q>> :loop fc nul/n | find "1:" > setdir.bat if errorlevel 1 goto restore debug setdir.bat nul call setdir.bat echo Visiting the directory: %dir% :: 用户自定义访问代码,替换此行 goto loop :restore if exist del if exist del if exist del if exist setdir.bat del setdir.bat :end ``` 这个脚本与之前的文件遍历脚本相似,但针对的是目录,它会遍历指定目录及其所有子目录,并执行相应的操作。 这些脚本提供了在DOS环境下遍历目录和文件的基础,可以根据实际需求进行修改和扩展,例如添加自定义的处理逻辑或过滤条件。
set work_path=D:\test
D:
cd %work_path%
for /R %%s in (.,*) do (
echo %%s
)
pause
##########################
@echo off
set work_path=D:\test
D:
cd %work_path%
for /R %%s in (.) do (
echo %%s
)
pause
#################################
:: VisitF.bat - 对指定路径指定文件进行遍历的程序
:: 第一参数为要遍历的文件(支持通配符),第二参数为要遍历的路径(缺省为C盘根)
@echo off
:main
if [%1]==[] if not exist goto end
:init
if exist if exist goto loop
set base=%2
if [%2]==[] set base=c:
dir %base%\%file% /s /a /b >
echo e 100 ''set file='' >
echo w >>
echo q >>
:loop
fc nul /n | find " 1:" > setfile.bat
if errorlevel 1 goto restore
debug setfile.bat nul
call setfile.bat
echo Visiting the file: %file%
:: User specified visit code replace this line
find "%file%" /v
copy > nul
goto loop
:restore
if exist del
if exist del
if exist del
if exist setfile.bat del setfile.bat
:end
############
:: VisitD.bat - 对指定路径指定目录进行遍历的程序
:: 第一参数为要遍历的目录(支持通配符),第二参数为要遍历的路径(缺省为C盘根)
@echo off
:main
剩余11页未读,继续阅读
- 粉丝: 0
- 资源: 12
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦