Board logo

标题: 怎么确定一个模糊目录 [打印本页]

作者: fsl2008dos     时间: 2008-3-6 16:50    标题: 怎么确定一个模糊目录

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

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

  请各位高手多多指点啊!  鄙人急得乱蹦!!!!!!!
作者: fastslz     时间: 2008-3-6 19:25
这个是目录
@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