在IF
/ ELSE
结构中移动线条时遇到了很多问题。下面的代码不打印
echo %VALUE1%;%VALUE2:~0,2%;%VALUE3%;%VALUE4%;%VALUE5%
提交。而不是将值打印到控制台,并删除最后一个字符。有什么问题?
@echo off
setlocal enabledelayedexpansion
SET ENABLED_X=1
SET FILE=test.txt
SET VALUE1=23,5
SET VALUE2=34,1
SET VALUE3=0,45
SET VALUE4=3,33
SET VALUE5=3,5
IF /I %ENABLED_X%==0 (
echo %VALUE1%;%VALUE2%;%VALUE3%;%VALUE4%>>%FILE%
echo NOT ENABLED
) ELSE (
echo %VALUE1%;%VALUE2:~0,2%;%VALUE3%;%VALUE4%;%VALUE5%>>%FILE%
echo %VALUE1%;%VALUE2:~0,2%;%VALUE3%;%VALUE4%;%VALUE5%
echo ENABLED
)
答案 0 :(得分:2)
部分1>>file
将被解释为重定向。通常,它分别用作2>>file
或>>%FILE% echo %VALUE1%;%VALUE2:~0,2%;%VALUE3%;%VALUE4%;%VALUE5%
来重定向标准输出和错误输出。
使用
%FILE%
代替。在行的开头进行重定向永远不会让它干扰别的东西。
注意:如果没有引号,svn update --depth=files
就可以了。在文件名中使用空格时可能会遇到麻烦。
答案 1 :(得分:0)
只需在>>
(echo %VALUE…)>>%FILE%
之前放置一个空格
要么
j0