gtrq.net
当前位置:首页>>关于dos命令 如何在for 命令中 对 变量截取的资料>>

dos命令 如何在for 命令中 对 变量截取

你这是在脚本中用还是在命令行用?

简单,直接在echo前面加“call”,让变量中含有的变量全部替换: ::══代══码══开══始═══ @echo off for /f "tokens=*" %%a in (1.txt) do set startup=%%a call echo %startup% pause ::Coded By escortmnm from VBS团队 ::══代══码══结══束═══

您好,可以借助定向符搞定:@echo offecho 此处换成你的命令>"%temp%\111.txt"set /p "var="

@echo offsetlocal enabledelayedexpansionfor /F %%a in ('date /T') do ( set b=中国 set b=!b:中国=中华人民共和国! echo !b! echo %%a)endlocalpausefor循环里要用 !b!,%b%用不了

@echo offfor /f "tokens=? delims= " %%a in ('wmic cpu list brief') do echo;%%a先数一下你要的是第几列信息,然后将代码中的问号?改为那个数字 比如 @echo offfor /f "tokens=13 delims= " %%a in ('wmic cpu list brief') do echo;%%a

@echo offsetlocal enabledelayedexpansionset a=123456789set b=5set c=!a:~%b%,1!echo %c%pause

%aaa%带了引号就表示字符串,但是你这个既然是文件就应该去掉引号,就是说set aaa=d:\list.txt 见for/? 关于for /f 的那个说明,如果必须加引号则需要改成: for /f "usebackq" %%i in (%aaa%) do @echo %%i

@echo off&setlocal enabledelayedexpansionfor /f "delims=" %%i in (1.txt) do ( set /a num+=1 if !num!==14 (echo %%i) else echo 不显示!>nul)pause

echo off&setlocal ENABLEDELAYEDEXPANSIONset /a cn=10for /L %%k in (1,1,5) do (set /a cn=!cn!+1echo cn is !cn!echo k is !k!)pause>nul原因是你没有开启变量延迟。有问题再追问,望采纳。

@echo off&setlocal enabledelayedexpansionfor /f "tokens=1* delims==" %%a in (test.txt) do (if "%%b"=="" set "n=%%a"if "%%a"=="str1" (if "!n!"=="aaa" set "a=%%b"if "!n!"=="bbb" set "b=%%b") ) cd /d %a%echo %b% > "%b%.txt"

网站首页 | 网站地图
All rights reserved Powered by www.gtrq.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com