比如我要用批處理實作這樣一個需求,將當前檔案夾下的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%
但是這段代碼并不能實作這個效果。
uj5u.com熱心網友回復:
樓主參考下這個帖子“批處理怎么利用for回圈把多個數值賦值給多個變數”https://zhidao.baidu.com/question/437608909787039844.html
uj5u.com熱心網友回復:
大俠,你說的給單個變數賦一個值。這個主要問題是多個值怎么拼接起來。
uj5u.com熱心網友回復:
找到正確的做法了,代碼如下:
@echo off
SETLOCAL EnableDelayedExpansion
set OBJS=
for /r ./ %%a in (*.obj) do (
set "OBJS=!OBJS! %%a"
)
echo %OBJS%
uj5u.com熱心網友回復:
參考:怎樣在for回圈變數中,將回圈變數賦值給一個變數 批處理 bat
uj5u.com熱心網友回復:
搜:批處理字串拼接uj5u.com熱心網友回復:
這里拼接的還不是字串。
uj5u.com熱心網友回復:
OBJS=D:\work\a.obj D:\work\b.obj D:\work\c.obj這不是a.obj,b.obj,c.obj三個檔案的全路徑名字串用空格連接起來后的結果嗎?
uj5u.com熱心網友回復:
暈,看錯帖子內容了
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/7653.html
標籤:Windows客戶端使用
上一篇:微軟賬號退出的問題,求助
