2017-11-17 6 views
0

バッチスクリプト

January,Snowy,02 
February,Rainy,15 
March,Sunny,25 

とmain.cmd

@echo off 
for /f "tokens=1,3 delims=," %%M in (weather.txt) do (echo %%M %%T) 

は私が出力

January 02 
February 15 
March 25 

を期待しかし、私は取得weather.txt私が持っています

January %T 
February %T 
March %T 
0123あなたは %%Mforをした場合は、 %%Tを使う

ヘルプTHX

+0

なぜあなたは '%% T 'ですか? – DodgyCodeException

+0

私は%% Tが3番目のトークンに相当すると考えました。 –

+2

3番目の列は2番目の列をスキップしているため、トークン1と2は列1と3に対応しているため、トークンは連続した文字を持つため、 '%% M'と' %% N 'となります。 – DodgyCodeException

答えて

0

奇妙な。

cmdは変数を引き継ぐことはできません。それらは順序通りでなければなりません。トークン1と3については、%% Mで始まる場合は、ランダムな文字だけでなく、そのトークンを表示するためにアルファベット順の次の文字が必要です。だからあなたのコードは:

@echo off 
for /f "tokens=1,3 delims=," %%M in (weather.txt) do (echo %%M %%N)