5
4

2 に答える 2

5

を使用してCLSを省略し、全画面を再作成できます。改行は出力set /pされset /pないため、テキストを追加できます。

通常set /p、ユーザーが入力した変数にテキストを割り当てるためのものですが、NULからのリダイレクトを使用すると、単にテキストが出力されます。

@echo off

for /L %%n in (1 1 5 ) do (
  <nul set /p ".=[]"
  ping -n 2 localhost > nul
)
echo(
echo The end

要求したステータス更新は、行に何かを追加するだけなので、同じ方法で処理できます。
行の一部または行全体を変更する場合は、カーソルを行の先頭に戻す必要があります。
どちらも、バックスペース文字またはキャリッジリターン文字を使用して実行できます。

これは、固定された画面の場所を頼りにするサンプルです

setlocal EnableDelayedExpansion
for /f %%a in ('copy /Z "%~dpf0" nul') do set "CR=%%a"
for /L %%n in (1 1 1000) do (
  <nul set /p ".=%%n!CR!"
)
于 2012-10-11T06:54:09.037 に答える
2
于 2012-10-12T04:56:16.887 に答える