我%%x
是如何做到這一點%×:〜0.1%中%% X(對)批處理文件
a=23
b=56
c=89
在一個名爲
hi.txt
for %%x in (hi.txt) do (echo %%x:~0,1 %%x)
.txt
但失敗了...
謝謝
我想在每行中回顯「第一個字符」,但我不能使用%% x:〜0,1 ...
我%%x
是如何做到這一點%×:〜0.1%中%% X(對)批處理文件
a=23
b=56
c=89
在一個名爲
hi.txt
for %%x in (hi.txt) do (echo %%x:~0,1 %%x)
.txt
但失敗了...
謝謝
我想在每行中回顯「第一個字符」,但我不能使用%% x:〜0,1 ...
我不完全確定你在做什麼...我假設你想解析文件hi.txt並拔出變量(A,b,C)和數字,他們等於..
@echo off setlocal ENABLEEXTENSIONS for /f "tokens=1,2 delims==" %%i in (hi.txt) do ( echo %%i has value %%j )
這將輸出
a has value 23 b has value 56 c has value 89
看到,如果你需要更多的信息 「幫忙」。
另外請注意,我的例子是解析=號,所以每個變量的寬度都不重要。你可以有一行像「MyText = 100」,它也可以工作。你的〜0,1假設每個值只有1個字符寬。
我希望這會有所幫助。
爲了防萬一有人做了一個看起來像'a = b = c'的變量,你的代幣會錯過其餘的行。將它改爲'tokens = 1 *',並且您在第一個'='後面的所有內容%% j – SeanC 2012-08-16 21:11:21
非常感謝您 – 2012-08-17 04:08:33
我想問我是否想 – 2012-08-17 04:13:46
如果你只需要打印一行的第一個字符,那麼下面的腳本應該可以工作。我相信你的原始問題可能是延遲變量擴展。有關更多信息,請參閱「help setlocal」和「help set」。
該版本的腳本將每行讀入一個temp變量,並將第一個字符剪切到另一個名爲firstCharacter的變量中。 !!用於CMD腳本的延遲變量擴展功能。
@echo off setlocal ENABLEEXTENSIONS,ENABLEDELAYEDEXPANSION for /f %%i in (hi.txt) do ( set wholeLine=%%i set firstCharacter=!wholeLine:~0,1! echo First Character is !firstCharacter! ) endlocal
,輸出爲...
First Character is a First Character is b First Character is c
我沒能找到一種方法,使用%%我直接對於這一點,因此臨時變量wholeLine。爲了清晰起見,我添加了變量firstCharacter,但它不需要存在就可以工作。我可以迴應!wholeLine:〜0,1!直。
玩得開心。
你能解釋一下你在做什麼嗎? – 2012-08-16 17:43:25