[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] [已解决]批处理怎样把命令输出结果作为变量值使用?

本帖最后由 garyng 于 2011-8-11 16:55 编辑

我运行一个程序(加了参数),输出结果为n
请问我要怎样把这个输出结果作为变量值使用?(不产生任何临时文件)
也就是echo !y!为n
例如
DEF的软件:finfo
在批量处理中用了:finfo.exe /rlu 1 yy.txt
请问要怎样把   finfo.exe /rlu 1 yy.txt  的输出结果作为变量值来使用?(!y!)
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

你应该学习如何使用FOR/F语言,这里的很多程序代码都是使用这种方法的,可以好好查一查
通用简洁实用就是批处理精神

TOP

我还是只小小的菜鸟,大哥能否为我解释下~

TOP

for /f "tokens=*" %%a in ('命令') do set a=%%a
命令就是你要的命令,如果是外部命令(Exe文件等)把单引号换成双引号如:
for /f "tokens=*" %%a in ("文件名") do set a=%%a
变量为a,可替换别的字母
1

评分人数

TOP

我找到“批处理For语句从入门到精通”的帖子了
正在学习~
谢谢提醒~

TOP

  1. @echo off
  2. for /f "delims=" %%a in ('finfo.exe /rlu 1 yy.txt') do (
  3.     echo,%%a
  4. )
  5. pause
复制代码
1

评分人数

TOP

  1. echo,%%a
复制代码
中的","是什么意思?

TOP

我这只菜鸟还有个问题
请问%random%可以不是数字吗?可以随机输出字母吗?

TOP

回复 4# yhp1996


    TO yhp1996
为什么要变成双引号呢,不是有种用法(当路径有特殊符号),加USEBACKQ,单引号要变后引号,双引号变单引号,文件要用双引号括起
怎么在这里单引号要变双引号呢?

TOP

回复 7# garyng


命令分隔符,空格、逗号、分号等都行。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 8# garyng


不同的问题请单独发帖提问
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 11# Batcher

对不起版主,我知道错了,现在就另外发帖提问~

TOP

回复 10# Batcher

明白啦~谢谢~

TOP

回复 9# zaixinxiangnian


    单引号是内部命令,不加引号是文件名(不会执行),双引号是外部程序、文件(会执行)

TOP

返回列表