批处理,在if语句加一个循环变量,如我查一个*.txt格式文本,发现一个,变量加1,最后总数显示出来

如题所述

第1个回答  2013-08-08
@echo off
for /r 路径 %%a in (*.txt) do set /a no+=1
echo %no%
pause追问

for /r 中的/r是什么参数?
@echo off
SET a=D:\

FOR /f %%i in ('dir /a /b /s %a%') do (
echo %%i
if exist %%i\*.txt echo %%i >>10.txt
if exist %%i\*.txt set /a b+=1
)
echo %b%
pause
这是我写的,为什么它扫描出来的文档不全??

追答

使用参数R 表示对指定目录进行检查. dir同时使用/s /b 参数,输出的是带根目录、文件名的文件绝对地址,例如
d:\tools\1\2\3\0.txt
你在后面的判断中,又在这个绝对路径后加*txt,就成了下面这样
d:\tools\1\2\3\0.txt\*.txt
这个当然不会存在

相似回答