請選擇 進入手機版 | 繼續訪問電腦版

微剋多資訊

 找回密碼
 註冊

Login

搜索

該用戶從未簽到

發表於 2016-7-8 23:20 | 顯示全部樓層 |閱讀模式
本帖最後由 jmsdhn 於 2016-7-8 23:32 編輯

假定有一個變數TYPE,其內容為AAA;BBB
set TYPE=AAA;BBB

用分號分割後
for /f "delims=; tokens=1-2" %%i in ("%TYPE%") do (
        set TYP1=%%i
        set TYP2=%%j
)        

想用相同的指令群,來帶入上述的TYP1和TYP2
以簡化指令群
原始指令群應該是:
-------------------
指令群(%TYP1%)
指令群(%TYP2%)
結束
-------------------

個人目前想到用
for /l %%n in (1,1,2) do ( 指令群(%TYPn%) )

但是搞了半天
%TYP1%和%TYP2%就是帶不進來AAA和BBB

想到很扯的用%%TYP%%n%%試看看
結果在迴圈中就只是單純的顯示%TYP1%和%TYP2%

像這樣的要求要如何想呢?


貼一下這個亂想的批次檔
for /L 迴圈裡面 相當於指令群函數
----------------------------------
@echo off
set TYPE=AAA;BBB
for /f "delims=; tokens=1-2" %%i in ("%TYPE%") do (
        set TYP1=%%i
        set TYP2=%%j
)       

echo %TYP1%
echo %TYP2%
echo ------
for /l %%n in (1,1,2) do (
        echo A0%%n=%%TYP%%n%%
)
pause
----------------------------------


以上的執行結果是:
----------------------------------

AAA
BBB
------
A01=%TYP1%
A02=%TYP2%

----------------------------------

但希望結果是:
----------------------------------
AAA
BBB
------
A01=AAA
A02=BBB


----------------------------------
就是希望可以把AAA和BBB帶入相同指令群來應用








該用戶從未簽到

發表於 2016-7-9 00:33 | 顯示全部樓層
本帖最後由 maodou 於 2016-7-9 00:36 編輯

@echo off
set TYPE=AAA;BBB
for /f "delims=; tokens=1-2" %%i in ("%TYPE%") do (
        set TYP1=%%i
        set TYP2=%%j
)      

echo %TYP1%
echo %TYP2%
echo ------
for /l %%n in (1,1,2) do (
        call echo A0%%n=%%TYP%%n%%
)
pause

點評

感謝 看來call還可以把後面字串當指令來執行呢 搭配奇偶數% 又產生不少變化了  發表於 2016-7-9 10:50

使用道具

您需要登入後才可以回帖 登入 | 註冊

本版積分規則

Discuz! X

© 2009-2017 Microduo

快速回覆 返回頂部 返回列表