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

[其他] 批处理如何把命令的返回结果赋值给变量

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

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

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


-------------------请务必写清代码里面的可改变的,和注释---------谢谢-----------------------------------------------------
如果觉得麻烦就写代码吧,也行,,,,自己慢慢了解。。。。。。。。。。。。。。。。

回复 2楼 的帖子

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


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

TOP

明白了,多谢版主指教。

TOP

回复 4楼 的帖子

自己测试不就知道了吗。
看下分别输出什么。
心绪平和,眼藏静谧。

TOP

请问版主 【 /B          使用空格式(没有标题信息或摘要)。】是什么意思,怎么用?

TOP

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
复制代码
心绪平和,眼藏静谧。

TOP

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

TOP

返回列表