这与我ask here的问题类似。我在Windows XP上运行。
我正在尝试让循环在Windows上运行。根据{{3}}的建议,我构造了一个有效的for循环批处理命令:
@echo off
FOR /F "tokens=4 delims=," %%G IN ("deposit,$4500,123.4,12-AUG-09") ^
DO ^
echo Date paid %%G ^
并将其放入Makefile中。这是makefile的内容:
all:
@echo off
FOR /F "tokens=4 delims=," %%G IN ("deposit,$4500,123.4,12-AUG-09") ^
DO ^
echo Date paid %%G ^
但是,我还是犯了一个错误:
FOR / F“tokens = 4 delims =,”%% G IN (“存款,500,123.4,12-AUG-09”)^ make:*** [all]错误255
知道如何解决这个问题吗?
答案 0 :(得分:1)
我找到了答案,这是在Makefile Windows中运行的正确语法:
all:
@echo off
FOR /F "tokens=4 delims=," %%G IN ("deposit,$4500,123.4,12-AUG-09") \
DO \
echo Date paid %%G echo 123
答案 1 :(得分:1)
我发现通过使用&&你可以在for循环中执行多个命令,如下所示:
for %%i in ($(SOMETHING)) do echo %%i 1 && echo %%i 2 && echo %%i 3
这将打印出类似的内容:
1 1
2 2
3 3
答案 2 :(得分:0)
你的分裂是错误的,不要使用^。请执行以下操作:
@echo off
FOR /F "tokens=4 delims=," %%G IN ("deposit,$4500,123.4,12-AUG-09") DO (
echo Date paid %%G
rem you can put as many lines as you want here, inside of braces
echo 123
)
答案 3 :(得分:0)
也许您可以从Makefile调用批处理命令文件?
all:
MyBatch.bat "deposit,$$4500,123.4,12-AUG-09"
MyBatch.bat如下。
@echo off
FOR /F "tokens=4 delims=," %%G IN ("%1") ^
DO ^
echo Date paid %%G ^
小心Makefile中的$。 $是逃避字符,必须加倍才能得到一个真正的$字符串。