cmd 批处理的if命令,能不能判断多个条件?
cmd批处理的if命令,能不能判断多个条件?我想用for命令将一个文件夹中txt,word.excel这三种文件查找出来,如何去写这个条件?...
cmd 批处理的if命令,能不能判断多个条件?我想用for命令将一个文件夹中txt, word. excel这三种文件查找出来,如何去写这个条件?
展开
4个回答
展开全部
DOS中的“或”条件不好弄,嵌套挺麻烦的。试试在【目标文件】下建立如下内容的批处理文件,看看效果是否符合。
@echo off
for /f "tokens=*" %%i in ('dir /b') do (if %%~xi==.txt (echo %%~nxi) else (if %%~xi==.doc (echo %%~nxi) else (if %%~xi==.xls echo %%~nxi)))
pause
上面省略了echo后面>>追加到指定文件部分,可自行添加。
不如,直接将原for命令复制成3行,将扩展名改一下就行了,好理解,而且输出结果中是按扩展名分类排列的。
@echo off
for /f "tokens=*" %%i in ('dir /b') do (if %%~xi==.txt (echo %%~nxi) else (if %%~xi==.doc (echo %%~nxi) else (if %%~xi==.xls echo %%~nxi)))
pause
上面省略了echo后面>>追加到指定文件部分,可自行添加。
不如,直接将原for命令复制成3行,将扩展名改一下就行了,好理解,而且输出结果中是按扩展名分类排列的。
更多追问追答
追问
不只是三行啊,好几种呢。看样子不好弄啊
追答
那就再多几行呗。。。实际不用for直接用多行dir也可以
dir/b *.txt>>1.txt
dir/b *.doc>>1.txt
……
……
也可以将要查找的扩展名单独写入一个ini文件,然后再用一个for命令读取ini文件内容,最后与第二个for结果比较
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if 条件1 (执行1) else (执行1反)
当条件1成立时,执行1,否则执行1反。
再看一下嵌套用法:
if 条件1 (
if 条件2 (
执行2)
else (
执行2反)
执行1 )
else (执行1反)
当条件1成立时,执行1,否则执行1反。
再看一下嵌套用法:
if 条件1 (
if 条件2 (
执行2)
else (
执行2反)
执行1 )
else (执行1反)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
@echo off
for /f "tokens=*" %%i in ('dir/b *.txt *.doc* *.xls*') do echo %%i
pause
for /f "tokens=*" %%i in ('dir/b *.txt *.doc* *.xls*') do echo %%i
pause
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询