- 帖子
- 14
- 积分
- 13
- 技术
- 0
- 捐助
- 0
- 注册时间
- 2012-5-16
|
if内的endlocal不能结束全局的setlocal
代码如下
@echo off
setlocal enabledelayedexpansion
for /f "delims= tokens=1,*" %%k in (source.mac) do (
if !count!==24 (
endlocal
echo if !num!==8 echo height_num=1-0.%%%%i ^>^>h_%%%%i_s_%%%%j.txt>>ansys_process.bat
)
if !count! neq 24 (
endlocal
echo %%k %%l>>ansys_process.bat
)
echo.>nul
set /a count+=1
)
要测试的source.mac 的内容如下.虽然是批处理的代码
@echo off
setlocal enabledelayedexpansion
set work_directory=D:\Documents\Desktop\test\
for /f "skip=1 delims=> " %%k in (D:\Documents\Desktop\test\h_1_s_1.mac) do (
if !num!==1 echo /filname
if !num!==2 echo /cwd
if !num!==8 echo height_num=2
if !num!==9 echo speed_num=3
if !num! neq 1 (
if !num! neq 2 (
if !num! neq 8 (
if !num! neq 9 echo test
)
echo.>nul
echo.>nul )
echo.>nul )
echo !num!
echo.
set /a num+=1
)
pause
rem echo it is the end of the code . do not believe you can see it on your screen |
|