Board logo

标题: set或echo 如何连接或加上特殊字符 [打印本页]

作者: bd123456789     时间: 2008-2-11 12:59    标题: set或echo 如何连接或加上特殊字符

set da=2008-01-02" " & chr(13) & "2009-01-02

现在我想将变量前后加上引号:如下
da="2008-01-02" " & chr(13) & "2009-01-02"

但是我试了多次都没办法正确加上?不知道是何故?如下:
㈠set da="%da%"&echo %da%

㈡set da="%da%
set da=%da%"
echo %da%

㈢再或者echo "%da%"


都不能正确加上引号?是什么原因!

[ Last edited by bd123456789 on 2008-2-11 at 01:01 PM ]
作者: lxmxn     时间: 2008-2-13 00:22
E:\Cmd>set da="2008-01-02" " & chr(13) & "2009-01-02"

E:\Cmd>echo %da%
"2008-01-02" " & chr(13) & "2009-01-02"

E:\Cmd>

作者: bd123456789     时间: 2008-2-13 10:42    标题: 转义符的运用

::呵呵,总于弄明白了:
echo 2008" & chr(13) & "2009
::能够正常显示
pause
echo "2008" ^& chr(13) ^& "2009"
::能够正常显示
pause

::set da=2008" & chr(13) & "2009
::在da前后加上一个引号,下行会出错
set da="%da%"
::正解
set da=^"%da%^"


::我测试的案例:
set c=0
:bof
set /a c=%c%+1
set bl=" ^& chr(13) ^& "
set da=2008-01-02
set dat=%da%%bl%%dat%
if not %c%==3 goto:bof
set dat=^"%dat%^"
::set dat=%dat:~0,1%
echo msgbox %dat%>110.vbs
pause
goto:eof

感谢版主!