代碼:批次/ a不存儲值
@echo off
set /a x=5
set /a TNUM=%x%-3
echo %TNUM%
pause
,輸出是:
ECHO is off
那麼,如何解決這個問題?
下面是完整的代碼:
@echo off
setlocal enableextensions
set /a COLUMNS=60
set /a ROWS=40
mode con: cols=%COLUMNS% lines=%ROWS%
:main
set /a xpos=5
set /a ypos=5
call:displayScreen
pause >nul
goto :eof
::FUNCTIONS::
:displayScreen
set /a TEMPR=%ROWS%-3
for /l %%c in (1,1,%COLUMNS%) do echo|set /p=#
for /l %%r in (1,1,%TEMPR%) do (
echo|set /p=#
if %%r==%ypos% (
set /a TNUM=%xpos%-3
echo %TNUM%
for /l %%t in (1,1,%TNUM%) do echo|set /p=A
echo|set /p=o
set /a TNUM=%COLUMNS%-%xpos%-1
for /l %%t in (1,1,%TNUM%) do echo|set /p=A
) else (
set /a TNUM=%COLUMNS%-2
for /l %%t in (1,1,%TNUM%) do (
echo|set /p=A
)
)
echo|set /p=#
echo.
)
for /l %%c in (1,1,%COLUMNS%) do echo|set /p=#
的主要問題是在顯示屏幕的功能。它應該打印屏幕,並在我給出的兩個座標處有x。我把回聲%TNUM%,所以我可以看到它是什麼,它總是等於「」。
你試過添加'setlocal ENABLEDELAYEDEXPANSION'嗎?然後用'!x!'替換'%x%'? – 2014-10-11 04:50:57
我只是學習批次,所以我不太瞭解。我如何適應我的代碼?你介意編輯它,以便我可以看到嗎? – Twonty2 2014-10-11 04:52:28
完美地爲我工作。您是否通過剪貼粘貼發佈? – Magoo 2014-10-11 05:13:03