html tool

2018年9月27日星期四

bat 执行结果赋值到指定变量



参考:http://www.bathome.net/viewthread.php?tid=10612
[popexizhi:最后自己用的代码如下:
echo "[test] str="
set str=str
set "str=%str:str=>nul & findstr ^x86 .\a.log%"
echo %str%
]


新方法]批处理中把命令的结果赋值给变量

[新方法]命令的结果复制给变量 看完下面的,请再看5楼 以前返回命令的结果,赋值给另外一个变量时,比较常用的方法是dir /b,比如: 当你想返回 dir /b 的结果,你可以这样
  1. for /f "delims=" %%i in ('dir /b') do set str=%%i
复制代码
但是最近想到一个新方法(不知道有没有人用过),比如你同样返回 for /f
  1. @echo off
  2. set str=str
  3. set "str=%str:str=>nul & dir/b%"
  4. echo %str%
  5. pause>nul
复制代码
大家可以试试效果。 返回的 %str% 是你在CMD下用 dir /b 的显示的结果。 这种方法的优点有:   一、代码比较简单。   二、可以多行赋值给一个变量(即包含了换行回车符)。 注意:第三行的
  1. set "str=%str:str=>nul & dir/b%"
复制代码
这里的双引号很关键,缺少的话是赋值不成功的

没有评论:

发表评论