找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28904|回复: 6

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

[复制链接]
发表于 2008-8-20 18:41:06 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-11-17 12:42 编辑

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

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


-------------------请务必写清代码里面的可改变的,和注释---------谢谢-----------------------------------------------------
如果觉得麻烦就写代码吧,也行,,,,自己慢慢了解。。。。。。。。。。。。。。。。
发表于 2008-8-20 19:09:51 | 显示全部楼层
可以建立一个临时文件
  1. dir /s qq.exe >i      将dir /s qq.exe得到的目录写到文件i中
  2. set /p a=<i           将得到的路径从文件i中赋值给自己设计的变量a中
  3. del i                 删除文件i
  4. .....                 你自己写的代码
复制代码
我没测试,如果出错,见谅
发表于 2008-8-20 20:39:02 | 显示全部楼层
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
复制代码
发表于 2008-8-20 21:07:09 | 显示全部楼层
请问版主 【 /B          使用空格式(没有标题信息或摘要)。】是什么意思,怎么用?
发表于 2008-8-20 21:12:58 | 显示全部楼层

回复 4楼 的帖子

自己测试不就知道了吗。
看下分别输出什么。
发表于 2008-8-21 12:08:50 | 显示全部楼层
明白了,多谢版主指教。
发表于 2008-8-23 04:40:16 | 显示全部楼层

回复 2楼 的帖子

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


学习了 我这猪脑子杂就没想到呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 14:22 , Processed in 0.018805 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表