2016-04-15 11 views
1

以下の私の.batファイルで、次の結果が得られました。.batファイルのサブ文字列に変数の出力がありません

@echo off 
set result="" 
set filteredResult="" 
setlocal enabledelayedexpansion 
FOR /F "tokens=* delims=" %%x in (outputText.txt) DO (SET result=%%x & SET filteredResult=%result:~0,5% & echo !filteredResult!) 
pause 

outputText.txt

tables 
-------------------------- 
number one 
number two 
number three 
(3) lines 

結果

"" 
"" 
"" 
"" 
"" 
"" 
Press any key to continue . . . 

なぜ私は結果から5の部分文字列を取得していないのですか。?

+0

filteredResult=!result:~0,5!からfilteredResult=%result:~0,5%!に置き換える必要があります(http://stackoverflow.com/a/30284028/2152082)。 – Stephan

答えて

1

あなたは[遅れexpanisonの問題]を持っている%

@echo off 
set result="" 
set filteredResult="" 
setlocal enabledelayedexpansion 
FOR /F "tokens=* delims=" %%x in (outputText.txt) DO (SET result=%%x & SET filteredResult=!result:~0,5! & echo !filteredResult!) 
pause 
+1

これで完璧に動作します。 –

関連する問題