首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将win XP命令行输出赋值给变量

将win XP命令行输出赋值给变量
EN

Stack Overflow用户
提问于 2009-02-11 15:47:22
回答 3查看 5.5K关注 0票数 5

我想把下面的脚本从linux shell翻译成Windows XP shell

代码语言:javascript
复制
GPSID=$(awk '/GPSID/ {print $3}' gora.RTK ) 
awk -v variable=${GPSID} 'BEGIN {printf "Numer seryjny : " variable,$1}' >>out.txt

第二行已经翻译;问题是在windows中定义一个包含shell输出的变量:-(

EN

回答 3

Stack Overflow用户

发布于 2009-02-11 16:20:41

ok问题已修复

代码语言:javascript
复制
for /f "tokens=*" %%a in ('awk "/GPSID/ {print $3}" gora.RTK ') do set var=%%a
awk "BEGIN {printf \"GPSID : \" }" >out.txt
echo %var% >>out.txt

这段代码基本上完成了我想要做的事情。

你太棒了,谢谢!

票数 4
EN

Stack Overflow用户

发布于 2009-02-11 16:06:25

如果需要递归该命令的输出,可以使用for /f。类似于:

代码语言:javascript
复制
for /f "usebackq" %%L in (`awk '/GPSID/ {print $3}' gora.RTK`) do (
    awk 'BEGIN {printf "Numer seryjny : " %%L,$1}' >> out.txt
)
票数 1
EN

Stack Overflow用户

发布于 2009-02-11 15:56:22

不如..。

对于('echo Hello World')中的/f "tokens=*“%%a,请设置var=%%a

注意:在命令行上尝试时,请使用%a而不是%%a,否则如果在批处理文件中使用,请将其保留为%%a。

其中'echo Hello World‘是您想要捕获其输出的命令,"var“是将存储输出的变量的名称。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/537404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档