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