0
我的代碼如下:可以選擇在For/f中定義一個字符串嗎?
爲/ F 「令牌= 1,2 delims =%0.3%」 %% i的( 「雙A = 0.3;」)做(
集=% %I
集b = %%Ĵ
)
我想要= 「雙一=」 和b = 「;」但是這個代碼不能幫助。
有誰知道如何解決這個問題?
我的代碼如下:可以選擇在For/f中定義一個字符串嗎?
爲/ F 「令牌= 1,2 delims =%0.3%」 %% i的( 「雙A = 0.3;」)做(
集=% %I
集b = %%Ĵ
)
我想要= 「雙一=」 和b = 「;」但是這個代碼不能幫助。
有誰知道如何解決這個問題?
您發佈的代碼根本不起作用。
for /F "tokens=1,2 delims=%0.3%" %%i in ("double a = 0.3;") do (
的%0
將由yourbatchfilename
被取代,因爲%" %
沒有值在環境中設置,它將由[無],得到
for /F "tokens=1,2 delims=yourbatchfilename.3i in ("double a = 0.3;") do (
其中,勿庸置疑,是一個語法錯誤來代替。
@ECHO OFF
SETLOCAL
for /F "tokens=1,2 delims=3.0" %%i in ("double a = 0.3;") do (
set a=%%i
set b=%%j
)
ECHO first way :a=%a%+ b=%b%+
ENDLOCAL
SETLOCAL
SET "astring=double a = 0.3;"
SET "aseparator=0.3"
SET "arotorapes=3.0"
for /F "tokens=1,2 delims=%arotorapes%" %%i in ("double a = 0.3;") do (
SET a=%%i
)
CALL SET b=%%astring:*%aseparator%=%%
ECHO second way :a=%a%+ b=%b%+
ENDLOCAL
SETLOCAL
SET "astring=double a = 0.3;"
SET "aseparator=0.3"
CALL SET b=%%astring:*%aseparator%=%%
SET "c=%b%%aseparator%"
SET "a=%astring%"
:loop
IF DEFINED c SET c=%c:~0,-1%&SET a=%a:~0,-1%&GOTO loop
ECHO third way :a=%a%+ b=%b%+
在第一方法中,我已經改變了的字符序列,以deomstrate的任一個delims
條款的=
和"
之間的字符的任何序列作爲SINGLE分隔符。代碼「無法正常工作」。
在第二種方法中,a
的設置以相同的方式工作。沒有進一步的信息,實在無法分辨這是否足夠。 b
通過具體替換所有字符源字符串在至多且包括與[無]
在第三方法中的分離器設置中,相同的操作建立b
,然後b
和隔板是級聯。系統地刪除原始原始字符串和連接字符串副本末尾的字符。當連接版本變空時,您已刪除原始分隔符和附錄,將原始字符串的部分留給分隔符。
太棒了!非常感謝! – HeyMan
+1,謝謝彼得。我不知道如何,但我完全錯過了DELIMS選項中的'%'。我的測試沒有他們,所以當然它「工作」不正確,因爲我描述不清。我很高興你不只是「相信簽名」:-)我刪除了我的不正確答案。 – dbenham