中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-21 03:18
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助:搜索当前目录的多个文件 查看 698 回复 6
楼 主 求助:搜索当前目录的多个文件 发表于 2007-12-28 17:03 ·  中国 广东 深圳 宝安区 电信
中级用户
★★
积分 358
发帖 130
注册 2005-11-12 16:29
20年会员
UID 45117
状态 离线
求助:搜索当前目录的多个文件(例如0.0 1.1 2.2 3.3), 如果全在就继续下去, 如果不全在就把缺少的文件用1.txt列出来并打开该目录
2 发表于 2007-12-28 17:06 ·  中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
你的文件是按照 n.n n-1.n-1 n-2.n-2 n-3.n-3 ......
的格式??
意思说其中有一个跳过了 比如 n-1.n-1 不存在就列出来是吗??
3 发表于 2007-12-28 17:38 ·  中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
n=当前目录下文件数, (查看当前目录下有多少文件应该很容易)
@echo off
for /l %%i in (0,1,n) do (dir/b|findstr "%%i.%%i"||echo %%i.%%i>>a.txt)
4 发表于 2007-12-28 20:04 ·  中国 广东 深圳 宝安区 电信
中级用户
★★
积分 358
发帖 130
注册 2005-11-12 16:29
20年会员
UID 45117
状态 离线
@echo off
:loop
for %%i in (0.0 1.1 2.2 3.3) do (if not exist %%i (echo %%i>>1.txt&explorer .\))
goto loop [/quote]

部分可行, 但无论缺不缺文件都跳回了(要求是缺文件时退出), 并每少一个文件就会开一次explorer(要求是退出时) 谢谢
5 发表于 2007-12-29 12:24 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线
@echo off & Setlocal
for /l %%a in (0,1,4) do (
set /a total+=1
if not exist %%a.%%a (echo\%%a.%%a>>1.txt) else (set /a some+=1)
)
if %some% equ %total% (echo 文件是全的.&exit /b 0) else (echo 文件不全&explorer .\ & exit /b 0)
6 发表于 2007-12-29 13:17 ·  中国 广东 深圳 宝安区 电信
中级用户
★★
积分 358
发帖 130
注册 2005-11-12 16:29
20年会员
UID 45117
状态 离线
Originally posted by lxmxn at 2007-12-29 12:24:
@echo off & Setlocal
for /l %%a in (0,1,4) do (
set /a total+=1
if not exist %%a.%%a (echo\%%a.%%a>>1.txt) else (set /a some+=1)
)
if %some% equ %total% (echo 文件是 ...


多谢版主, 但我要求非这些文件名的也行呀
7 发表于 2007-12-29 13:43 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线
我又不知道你要指定哪些文件,所以暂且按照你举的例子来。
文件名你自己定吧,你不说清楚别人怎么知道呢?
论坛跳转: