mshd.net
当前位置:首页 >> 批处理文件中如何将一个命令的输出赋值给一个变量 >>

批处理文件中如何将一个命令的输出赋值给一个变量

以date命令为例 for /f "tokens=*" %%i in ('date/t') do set s=%%i echo %s% 或 for /f "tokens=1*" %%i in ('date/t') do ( set s=%%i set t=%%j) echo %s% %t% %s:~,4%

@echo off & color 0d & setlocal enabledelayedexpansion ipconfig>ip.txt for /f "delims=" %%a in (ip.txt) do ( set ip=%%a echo !ip! ) pause>nul :: 1. 将ipconfig的结果输出保存到文本 :: 2. 再用for语句把文本内的数据赋值给变量ip :: 3...

预处理机制:批处理读取命令时是按行读取的(另外例如 for 命令等,其后用一对圆括号闭合的所有语句也当作一行),在处理之前要完成必要的预处理工作,这其中就包括对该行命令中的变量赋值。在不启用变量延迟,也不对变量动态捕获其扩展变化时,...

比如读取abc.txt的第一行,记作变量a 然后读取第2行,记作变量b 代码如下: @echo off set/p n=要第几行: set/a n-=1 if "%n%"=="0" (set "skip=") else (set "skip=skip=%n%") for /f "%skip% tokens=* delims=" %%i in (abc.txt) do ( set a=...

set aa = %AppData% 这一行你有多余的空格了,变量名不是aa是aa空格了。。。 set aa=%AppData% 这样写就行了,=前后都不要空格

有个问题是,你需要确定,只返回一行数值,否则,它会只取最后一个。 for /f "delims=" %%i in ('netstat -a^|findstr 50000') do (set a=%%i) echo %a% pause

@echo off setlocal enabledelayedexpansion set "datenum=0" set "ipath=" for /f "tokens=*" %%i in (.\logDate.txt) do ( set /a datenum+=1 if !datenum! equ 2 ( set "ipath=%%i" rem 给变量赋值的时候最好用引号把变量括起来,因为bat对空...

比如读取abc.txt的第一行,记作变量a 然后读取第2行,记作变量b 代码如下: @echo off set/p n=要第几行: set/a n-=1 if "%n%"=="0" (set "skip=") else (set "skip=skip=%n%") for /f "%skip% tokens=* delims=" %%i in (abc.txt)...

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

@echo off & setlocal EnableDelayedExpansion set j=0 for /f "delims=""" %%i in (a.txt) do ( set /a j+=1 set con!j!=%%i call set a=%%con!j!%% echo !a! ) pause

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