楼 主
怎么把组合命令的结果,赋值给变量?
发表于 2007-03-21 04:31 · 中国 广东 东莞 电信
中级用户
★★
积分 387
发帖 104
注册 2004-11-19 00:00
21年会员
UID 33813
性别 男
状态 离线
怎么才不通过文件中转实现呢?
例如:
dir /a/s/b test.exe|find /i "test.exe"
把上述结果赋值给一个变量。
第 2 楼
发表于 2007-03-21 04:52 · 中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
for /f "delims=" %%i in ('dir /a/s/b test.exe^|find /i "test.exe"') do set str=%%i
少了in
[ Last edited by zh159 on 2007-3-20 at 04:02 PM ]
第 3 楼
发表于 2007-03-21 04:57 · 中国 广东 东莞 电信
中级用户
★★
积分 387
发帖 104
注册 2004-11-19 00:00
21年会员
UID 33813
性别 男
状态 离线
谢谢了,加一个要求:
dir /a/s/b test.exe|find /i "test.exe"
对上面这个结果进行判断,如果FIND成功,则把结果赋值变量。如果FIND不成功,则不赋值。
第 4 楼
发表于 2007-03-21 05:05 · 中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
for /f "delims=" %%i in ('dir/a/s/b test.exe^|find /i "test.exe" 2>nul') do set str=%%i
找不到不会赋值给str
用2>nul屏蔽错误输出显示
第 5 楼
发表于 2007-03-21 08:50 · 中国 广东 东莞 电信
中级用户
★★
积分 387
发帖 104
注册 2004-11-19 00:00
21年会员
UID 33813
性别 男
状态 离线
不错,谢谢哈,
那个 2>nul 是不是要改成 2^>nul ?
第 6 楼
发表于 2007-03-21 22:01 · 中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
Originally posted by zts59 at 2007-3-20 19:50:
不错,谢谢哈,
那个 2>nul 是不是要改成 2^>nul ?
忘了,在()里要用,dir的也要加上
@echo off
for /f "delims=" %%i in ('dir/a/s/b test.exe 2^>nul^|find /i "test.exe" 2^>nul') do set str=%%i
论坛跳转: