1

だから私は単純なバッチ プログラムに取り組んでいます。起動時にウィンドウを小さくし、画面の大部分を占めるように大きくします。これまでのところ、これは私が持っているものです:

@echo off
for /l %%I in (1,2,90) do (
set /a lines=%%I / 2
mode con cols=%%I
mode con lines=%lines%
)
timeout /t 3 /nobreak >nul
exit

これより前に、'if' ステートメントと 'goto' ステートメントを使用して即興で 'for' ループを作成しましたが、見た目はあまりよくありませんでしたが (非常にびくびくしていました) 、うまく機能しました。これが私の古いコードです:

@echo off set /a y=14
set /a x=23
:start
mode con lines=%y%
mode con cols=%x%
if %x% geq 90 (
goto end
) else (
set /a x=%y% * 3
set /a y=%y% + 4
goto start
)
:end
timeout /t 3 /nobreak >nul
exit 

しかし、新しいコードを実行すると動作しますmode con cols=%%Iが、mode con lines=%lines%「無効なパラメーター - 行 =」というエラーが表示されます。誰かが私が間違っていることを教えてもらえますか?

前もって感謝します。

4

1 に答える 1

1

ループ内で変数を変更するときは、!variable! のdelayed expansionように変数を使用して参照する必要があります。!lines!構文。

setlocal enabledelayedexpansion
于 2013-07-31T04:06:40.320 に答える