批处理中如何将多个值赋给一个变量

clever101
博客专家认证
2020-08-31 10:21:01
比如我要用批处理实现这样一个需求,将当前文件夹下的obj文件都赋给一个变量,比如D:\work下有a.obj、b.obj和c.obj等多个文件,现在把遍历D:\work这个文件夹,所有的obj文件的路径都赋给OBJS,最后输出OBJS的值是OBJS=D:\work\a.obj D:\work\b.obj D:\work\c.obj

代码大致如下:

set OBJS=
for /r ./ %%a in (*.obj) do (
set "OBJS=%OBJS% %%a"
)
echo %OBJS%


但是这段代码并不能实现这个效果。
...全文
7229 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
nettman 2020-09-03
  • 打赏
  • 举报
回复
引用 2 楼 clever101 的回复:
[quote=引用 1 楼 nettman 的回复:]楼主参考下这个帖子“批处理怎么利用for循环把多个数值赋值给多个变量”
https://zhidao.baidu.com/question/437608909787039844.html


大侠,你说的给单个变量赋一个值。这个主要问题是多个值怎么拼接起来。[/quote]

晕,看错帖子内容了
ziqi0716 2020-09-02
  • 打赏
  • 举报
回复
OBJS=D:\work\a.obj D:\work\b.obj D:\work\c.obj 这不是a.obj,b.obj,c.obj三个文件的全路径名字符串用空格连接起来后的结果吗?
nettman 2020-09-01
  • 打赏
  • 举报
回复
楼主参考下这个帖子“批处理怎么利用for循环把多个数值赋值给多个变量”
https://zhidao.baidu.com/question/437608909787039844.html
clever101 2020-09-01
  • 打赏
  • 举报
回复
引用 5 楼 ziqi0716 的回复:
搜:批处理字符串拼接
这里拼接的还不是字符串。
ziqi0716 2020-09-01
  • 打赏
  • 举报
回复
搜:批处理字符串拼接
clever101 2020-09-01
  • 打赏
  • 举报
回复
找到正确的做法了,代码如下:

@echo off
SETLOCAL EnableDelayedExpansion
set OBJS=
for /r ./ %%a in (*.obj) do (
set "OBJS=!OBJS! %%a"
)
echo %OBJS%
clever101 2020-09-01
  • 打赏
  • 举报
回复
引用 1 楼 nettman 的回复:
楼主参考下这个帖子“批处理怎么利用for循环把多个数值赋值给多个变量” https://zhidao.baidu.com/question/437608909787039844.html
大侠,你说的给单个变量赋一个值。这个主要问题是多个值怎么拼接起来。

18,141

社区成员

发帖
与我相关
我的任务
社区描述
Windows客户端使用相关问题交流社区
社区管理员
  • Windows客户端使用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧