Board logo

标题: 纯DOS下,FOR /F 咋整? [打印本页]

作者: glasses     时间: 2010-5-23 22:53    标题: 纯DOS下,FOR /F 咋整?

我的意思是想找指定类型的文件。
本人对BAT不是很了解,看了几天的BAT才写出来下面这点儿。
却发现纯DOS下,FOR /F 之类的不能用。。。请达人出个解决办法.
@ECHO OFF & SETLOCAL ENABLEDELAYEDEXPANSION

::::::::::::::::::::::::::::::::::::::::::
::后缀类型定义,","
SET FileTypes=*.gh0,*.sys,*.gho,*.max,*.bak
::类型个数
SET TypeCount=5

::::::::::::::::::::::::::::::::::::::::::
::每个类型定义长5个字符
SET /A COUNT=(%TypeCount%)*5
::得到每个扩展名并与dir结果比对
FOR /F "usebackq skip=5 tokens=3,* delims= " %%a IN (`dir /a-D !FileTypes!`) DO (
        ::ECHO %%a----%%b----*%%~xb
        FOR /L %%i IN (0 6 %Count%) DO (
                IF "*%%~xb"=="!FileTypes:~%%i,5!" (ECHO Found file "%%b".)
        )
)

:TOGHOST

PAUSE

作者: ejzhang     时间: 2010-5-31 17:36
纯DOS下FOR命令不支持/F参数