早教吧作业答案频道 -->其他-->
批处理forindo输出指定内容@echooffcd\workfor/f%%zin('findstr/s/i/m"read=0"*.*')do(\x05for/f"tokens=1,*delims=="%%ain('find"Ftd"^
题目详情
批处理for in do输出指定内容
@echo off
cd \work
for /f %%z in ('findstr /s /i /m "read=0" *.*') do (
\x05for /f "tokens=1,* delims==" %%a in ('find "Ftd" ^< %%z') do (
\x05\x05for /f "tokens=1,* delims==" %%c in ('find "inipath" ^< %%z') do (
\x05\x05\x05for /f "tokens=1,* delims==" %%e in ('find "cam" ^< %%z') do (
\x05\x05\x05\x05for /f "tokens=1,* delims==" %%g in ('find "arjpath" ^< %%z') do (
\x05\x05\x05\x05echo Ftd= %v% inipath= %w% cam= %x% arjpath= %y%
\x05\x05\x05\x05)
\x05\x05\x05)
\x05\x05)
\x05)
)
按我的设想,findstr输出work目录下所有包含read=0的文件.用find取多个值以后用echo输出
结果,只有findstr输出的最后一个文件被echo输出,其余的都没有显示 结果类似
Ftd= 19854 inipath= v:\work\ddd\ cam= HP aeppath= arjpath
Ftd= 19854 inipath= v:\work\ddd\ cam= HP aeppath= arjpath
Ftd= 19854 inipath= v:\work\ddd\ cam= HP aeppath= arjpath
Ftd= 19854 inipath= v:\work\ddd\ cam= HP aeppath= arjpath
work目录下有4个子目录符合findstr的搜索条件
set v=%%b
\x05\x05\x05\x05set w=%%d
\x05\x05\x05\x05set x=%%f
\x05\x05\x05\x05set y=%%h
echo Ftd= %v% inipath= %w% cam= %x% arjpath= %y%
额 少贴了几行
@echo off
cd \work
for /f %%z in ('findstr /s /i /m "read=0" *.*') do (
\x05for /f "tokens=1,* delims==" %%a in ('find "Ftd" ^< %%z') do (
\x05\x05for /f "tokens=1,* delims==" %%c in ('find "inipath" ^< %%z') do (
\x05\x05\x05for /f "tokens=1,* delims==" %%e in ('find "cam" ^< %%z') do (
\x05\x05\x05\x05for /f "tokens=1,* delims==" %%g in ('find "arjpath" ^< %%z') do (
\x05\x05\x05\x05echo Ftd= %v% inipath= %w% cam= %x% arjpath= %y%
\x05\x05\x05\x05)
\x05\x05\x05)
\x05\x05)
\x05)
)
按我的设想,findstr输出work目录下所有包含read=0的文件.用find取多个值以后用echo输出
结果,只有findstr输出的最后一个文件被echo输出,其余的都没有显示 结果类似
Ftd= 19854 inipath= v:\work\ddd\ cam= HP aeppath= arjpath
Ftd= 19854 inipath= v:\work\ddd\ cam= HP aeppath= arjpath
Ftd= 19854 inipath= v:\work\ddd\ cam= HP aeppath= arjpath
Ftd= 19854 inipath= v:\work\ddd\ cam= HP aeppath= arjpath
work目录下有4个子目录符合findstr的搜索条件
set v=%%b
\x05\x05\x05\x05set w=%%d
\x05\x05\x05\x05set x=%%f
\x05\x05\x05\x05set y=%%h
echo Ftd= %v% inipath= %w% cam= %x% arjpath= %y%
额 少贴了几行
▼优质解答
答案和解析
当不需要进行变量变换(加减取舍等)时就不要另设变量了,直接
echo Ftd= %%b inipath= %%d cam= %%f arjpath= %%h就行了
如果要赋给变量,则要设置变量延迟扩展setlocal enabledelayedexpansion
并用一对!号代一对%号将变量括起来用,如 !v!代替%v%
echo Ftd= %%b inipath= %%d cam= %%f arjpath= %%h就行了
如果要赋给变量,则要设置变量延迟扩展setlocal enabledelayedexpansion
并用一对!号代一对%号将变量括起来用,如 !v!代替%v%
看了 批处理forindo输出指定...的网友还看了以下:
下列对欧姆定律和导体电阻的叙述中正确的是()A.因为I=UR,所以当U=0时,I=0B.由I=UR 2020-04-13 …
以下各循环语句中,不是无限循环的是B.for(i=0;;i++);if(i>10)break;C. 2020-04-25 …
matlab 最小二乘法拟合直线,横坐标是x=0.01:0.01:1;m=log(x);纵坐标是f 2020-05-16 …
r是共用体,定义*s=&r;依次定义s->i[0]=ox39;s->i[1]=ox38;为什么输出 2020-06-14 …
C语言求鞍点,哪里错了#include<stdio.h>intmain(){inti,j,k,ma 2020-07-23 …
下面程序段的运行结果是().intm[]={5,8,7,6,9,2},i=1;do{m[i]+=2 2020-07-26 …
若有以下说明和语句且0<=i<10。inta[]={1,2,3,4,5,6,7,8,9,0},若有以 2020-11-01 …
直接写出0面各题7得数.七0-4.2=0.03×0.6=七22÷2七2=七i×i+七8×8=2七4÷ 2020-11-01 …
关于螺旋填数,HELPME!源程序在这里,帮我看看啊:vara:array[1..10,1..10] 2021-01-13 …
二级C语言南开笔试100题第一套37题怎么做阅读以下函数fun(char*s1,char*s2){i 2021-01-21 …