中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-19 13:56
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎么确定一个模糊目录 查看 703 回复 1
楼 主 怎么确定一个模糊目录 发表于 2008-03-06 16:50 ·  IANA 局域网IP(Private-Use)
新手上路
积分 4
发帖 1
注册 2008-03-06 16:12
UID 112193
性别 男
状态 离线
1 在脚本(.bat)里有一句:
path\test.ext testfile.ts.
假设在testfile.ts里有三部分, 然后执行完后, test.exe要生成三个目录。
生成的目录名字由三部分组成: 年月日_时分秒_测试名字。
2 然后, 我需要在生成的三个目录中,选择一个目录进行操作。
前边生成的目录, 我只知道最后一部分,但时间无法知道, 也就是说, 不能确定完整的目录名字, 只知道目录中含有一个特定的关键字, 请问怎么确定?

比如: 第一步生成三个目录: "20070930_193650_failed_tests". "20071001_003314_MCADI_CADI", "20071002_084312_MCADI_PERF".
在第二步需要对其中的一个目录进行操作, 比如需要对"20071001_003314_MCADI_CADI" 进行操作。 但无法知道完整的名字, 只知道该目录的名字中包含 “MCADI_CADI”。 (这里给出了完整名字, 只是为了说明问题)。 请问怎么确定?

我用了一个办法:
set mypath=D:\test_dofailcase\*failed_tests
rem path=D:\test_dofailcase\20070930_193650_failed_tests

dir /b /s /O %mypath%\executionLog.txt >logfiles.txt

意思是希望能用通配符 × 号来代替前边不确定的部分, 但不行。

请各位高手多多指点啊! 鄙人急得乱蹦!!!!!!!
2 发表于 2008-03-06 19:25 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
UID 54766
性别 男
来自 上海
状态 离线
这个是目录
@echo off
for /f "delims=*" %%a in ('dir /s/b/ad *^|find /i "failed_tests"') do set mypath=%%a
echo %mypath%
pause

这个是文件
@echo off
for /f "delims=*" %%a in ('dir /s/b/a-d *^|find /i "failed_tests"') do set myfile=%%a
echo %myfile%
pause

运行环境Cmd
第一高手 第二高手

论坛跳转: