标题: [其他] 【已解决】为什么这样的批处理转意符无法运行? [打印本页]
作者: chouxia 时间: 2015-4-22 12:45 标题: 【已解决】为什么这样的批处理转意符无法运行?
本帖最后由 chouxia 于 2015-4-22 14:07 编辑
代码如下- @echo off
- setlocal enabledelayedexpansion
- v:\run\echox -c 4f tttttt2
- echo ^@echo off>d:\111\333.bat
- echo v^:\run\sed ^-i s^/rendering^=2/rendering^=3^/g "d:\111\123.txt^">>d:\111\333.bat
- echo cd \log>>d:\111\333.bat
- echo dir>>d:\111\333.bat
- echo if ^%^ERRORLEVEL^% equ 0 (>>d:\111\333.bat
- echo timeout /t 2>>d:\111\333.bat
- echo v:\run\sed -i s/rendering^=3/rendering^=4/g d:\111\123.txt>>d:\111\333.bat
- echo exit) else (>>d:\111\333.bat
- echo v:\run\sed -i s/rendering^=3/rendering^=99/g d:\111\123.txt>>d:\111\333.bat
- echo exit>>d:\111\333.bat
- echo ^)>>d:\111\333.bat
- echo timeout /t ^2>>d:\111\333.bat
- echo cd \log>>d:\111\333.bat
- echo dir>>d:\111\333.bat
- echo if ^%^ERRORLEVEL^% equ 0 (>>d:\111\333.bat
- echo timeout /t 2>>d:\111\333.bat
- echo v:\run\sed -i s/rendering^=3/rendering^=4/g v:\1aep\!aepname!.txt>>d:\111\333.bat
- echo exit) else (>>d:\111\333.bat
- echo v:\run\sed -i s/rendering^=3/rendering^=99/g v:\1aep\!aepname!.txt>>d:\111\333.bat
- echo exit>>d:\111\333.bat
- echo ^)>>d:\111\333.bat
- echo timeout /t ^2>>d:\111\333.bat
- echo v^:\run\sed ^-i s^/rendering^=3/rendering^=4^/g "\\file\vdisk\1aep\!aepname!.txt^">>d:\111\333.bat
- echo exit>>d:\111\333.bat
- ::start \\file\udisk!inipath!\gqhecheng.bat
复制代码
我想请教的是为什么^%ERRORLEVEL^%没有输出到333.bat下?
附333.bat的内容- @echo off
- v:\run\sed -i s/rendering=2/rendering=3/g "d:\111\123.txt^"
- cd \log
- dir
- if equ 0 (
- v:\run\sed -i s/rendering=3/rendering=4/g d:\111\123.txt
- exit) else (
- v:\run\sed -i s/rendering=3/rendering=99/g d:\111\123.txt
- exit
- )
- timeout /t 2
- cd \log
- dir
- if equ 0 (
- v:\run\sed -i s/rendering=3/rendering=4/g v:\1aep\.txt
- exit) else (
- v:\run\sed -i s/rendering=3/rendering=99/g v:\1aep\.txt
- exit
- )
- timeout /t 2
- v:\run\sed -i s/rendering=3/rendering=4/g "\\file\vdisk\1aep\.txt"
- exit
复制代码
作者: gawk 时间: 2015-4-22 13:29
echo if %%ERRORLEVEL%% equ 0 (>>d:\111\333.bat
作者: chouxia 时间: 2015-4-22 13:33
回复 2# gawk
输出到333.bat的时候就是%0%
作者: chouxia 时间: 2015-4-22 13:35
我在cmd窗口上用echo ^%errorlevel^% >1.txt输出成功 但在这里不行
不知道原因
作者: gawk 时间: 2015-4-22 13:36
能否把你希望得到的333.bat发出来,我试试
作者: chouxia 时间: 2015-4-22 13:41
@echo off
v:\run\sed -i s/rendering=2/rendering=3/g "d:\111\123.txt^"
cd \log
dir
if %errorlevel% equ 0 (
v:\run\sed -i s/rendering=3/rendering=4/g d:\111\123.txt
exit) else (
v:\run\sed -i s/rendering=3/rendering=99/g d:\111\123.txt
exit
)
timeout /t 2
cd \log
dir
if equ 0 (
v:\run\sed -i s/rendering=3/rendering=4/g v:\1aep\.txt
exit) else (
v:\run\sed -i s/rendering=3/rendering=99/g v:\1aep\.txt
exit
)
timeout /t 2
v:\run\sed -i s/rendering=3/rendering=4/g "\\file\vdisk\1aep\.txt"
exit
就是希望这个%errorlevel%能够正常输出
环境是win2012
作者: gawk 时间: 2015-4-22 13:42
回复 3# chouxia - @echo off
- echo @echo off>333.bat
- echo v:\run\sed -i "s/rendering=2/rendering=3/g" "d:\111\123.txt">>333.bat
- echo cd \log>>333.bat
- echo dir>>333.bat
- echo if %%ERRORLEVEL%% equ 0 (>>333.bat
复制代码
我这里测试正常
C:\Test>test.bat
C:\Test>type 333.bat
@echo off
v:\run\sed -i "s/rendering=2/rendering=3/g" "d:\111\123.txt"
cd \log
dir
if %ERRORLEVEL% equ 0 (
作者: gawk 时间: 2015-4-22 13:49
Win7、2003、2008测试没有发现问题,没有2012无法做试验。
作者: chouxia 时间: 2015-4-22 13:56
额 莫名其妙自己好使了。
奇怪 一会我从头跑一下
另外 gawk大大
我有一个帖子内容如下:
--------------------------------------------------------------------------------
本帖最后由 chouxia 于 2015-4-16 16:29 编辑
现在想由批处理输出下面代码到另一个批处理。
转义符搞的我蒙圈
麻烦帮我搞下,让我有个长经验值的机会。
echo for /f ^"tokens^=1^,2^,^* delims^==^"^ ^%%%a in^ ^(^'findstr ^"num^" ^/i ^\\file^\vdisk\1aep\^!aepname^!.txt^'^) do ^(set num^=^%%%b)>>\\file\udisk!inipath!\ak47.bat
echo for /f ^"tokens^=1^,2^,^* delims^==^"^ ^%%%c in^ ^(^'find ^"jishu^" ^/i ^\\file^\vdisk\1aep\^!aepname^!.txt^'^) do ^(set jishu^=^%%%d)>>\\file\udisk!inipath!\ak47.bat
在这个情况下^转义符是否生效?
为什么输出结果是:
for /f "tokens=1,2,* delims==" %%b)
for /f "tokens=1,2,* delims==" %%d)
-------------------------------------------------------------------
那个地方很让人蛋疼?
是转意符乱用吗?
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |