Board logo

标题: [求助]如何判断变量中包含指定字符? [打印本页]

作者: wangyc     时间: 2010-3-21 00:19    标题: [求助]如何判断变量中包含指定字符?

有时为了为用更少的代码完成所要的结果,通常只用一个for命令(为了避免多余重复的命令)
例如下例:
@echo off
for /f "delims=" %%i in ('dir /b *.txt') do copy %%i a\
pause
不知在这个for中能否判断变量%%i中包含了指定的字符
如果%%i中包含123 则 copy %%i a\
如果%%i中包含345 则 copy %%i b\
如果%%i中不包含以上则 copy %%i c\

[ Last edited by wangyc on 2010-3-21 at 00:37 ]
作者: HAT     时间: 2010-3-21 11:06
dir + findstr
作者: Hanyeguxing     时间: 2010-3-21 14:55
给你举个简单的例子:
@echo off&setlocal enabledelayedexpansion
for /l %%i in (1 1 9) do (echo 当前变量的值:%%i
echo %%i|findstr [0-9]>nul
if !ERRORLEVEL!==0 echo 包含0到9中的任意字符
echo %%i|findstr [1-5]>nul
if !ERRORLEVEL!==0 echo 包含1到5中的任意字符
echo %%i|findstr [2468]>nul
if !ERRORLEVEL!==0 echo 包含2468中的任意字符)
pause

作者: wangyc     时间: 2010-3-22 08:47
谢谢,我用findstr实现了我要的功能