Board logo

标题: [其他] 批处理如何把命令的返回结果赋值给变量 [打印本页]

作者: jellyhk    时间: 2008-8-20 18:41     标题: 批处理如何把命令的返回结果赋值给变量

本帖最后由 pcl_test 于 2016-11-17 12:42 编辑

求教:实现赋值
我搜索了下赋值的关键字,找到了一篇,不过是for命令不懂,----还没学。。。。嘿嘿。。
所以就只能能再请教了,请别厌恶就行。。

现在我想实现:把某个命令得到的结果给赋值给某个变量,
例如:dir /s qq.exe、
得到了路径c:\qq吧 ,赋值给你自己设个变量                              如何赋值。


-------------------请务必写清代码里面的可改变的,和注释---------谢谢-----------------------------------------------------
如果觉得麻烦就写代码吧,也行,,,,自己慢慢了解。。。。。。。。。。。。。。。。
作者: mkl    时间: 2008-8-20 19:09

可以建立一个临时文件
  1. dir /s qq.exe >i      将dir /s qq.exe得到的目录写到文件i中
  2. set /p a=<i           将得到的路径从文件i中赋值给自己设计的变量a中
  3. del i                 删除文件i
  4. .....                 你自己写的代码
复制代码
我没测试,如果出错,见谅
作者: pusofalse    时间: 2008-8-20 20:39

dir需要加/b参数
/B          Uses bare format (no heading information or summary).
如果先写入文件再进行读取:
  1. @echo off
  2. dir/b/s qq.exe>a.txt
  3. set/p QQpath=<a.txt
  4. echo %QQpath%&del a.txt
  5. pause
复制代码
直接赋值:
  1. @echo off
  2. for /f "delims=" %%a in ('dir/b/s qq.exe') do set "QQpath=%%a"
  3. echo %QQpath%
  4. pause
复制代码

作者: mkl    时间: 2008-8-20 21:07

请问版主 【 /B          使用空格式(没有标题信息或摘要)。】是什么意思,怎么用?
作者: pusofalse    时间: 2008-8-20 21:12     标题: 回复 4楼 的帖子

自己测试不就知道了吗。
看下分别输出什么。
作者: mkl    时间: 2008-8-21 12:08

明白了,多谢版主指教。
作者: gfwlxx    时间: 2008-8-23 04:40     标题: 回复 2楼 的帖子

set /p a=<i           将得到的路径从文件i中赋值给自己设计的变量a中


学习了 我这猪脑子杂就没想到呢




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2