Если Вы имеете в виду в рамках сценария пакетной обработки Windows, Вы не можете сделать этого исходно. Оператор эха, используемый для печати к консоли, будет всегда печатать новую строку, и Вы не можете переместить курсор.
Это - определенный взлом, но можно сделать это с комбинацией VBScript и сценария пакетной обработки.
Этот VBScript распечатает клавишу Backspace, затем это - аргумент:
WScript.StdOut.Write(chr(8) & WScript.Arguments(0))
Помещенный это в файл, vbsEcho.vbs
, затем называет этот сценарий из Вашего сценария пакетной обработки. Следующий сценарий пакетной обработки будет продолжать отображать счетчик, пока Вы не нажмете CTRL-C:
@echo off
:LOOP
cscript //nologo vbsEcho.vbs "\"
cscript //nologo vbsEcho.vbs "|"
cscript //nologo vbsEcho.vbs "/"
cscript //nologo vbsEcho.vbs "-"
goto :LOOP
РЕДАКТИРОВАНИЕ: Используя некоторые идеи из ответа aphoria, этот сценарий запустит калькулятор Windows и отобразит счетчик, пока калькулятор не закроется:
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET COUNT=1
START CALC
cscript //nologo vbsEcho.vbs "Calculating: \"
:LOOP
IF !COUNT! EQU 1 cscript //nologo vbsEcho.vbs "|"
IF !COUNT! EQU 2 cscript //nologo vbsEcho.vbs "/"
IF !COUNT! EQU 3 cscript //nologo vbsEcho.vbs "-"
IF !COUNT! EQU 4 (
cscript //nologo vbsEcho.vbs "\"
set COUNT=1
) else (
set /a COUNT+=1
)
pslist CALC >nul 2>&1
if %ERRORLEVEL% EQU 1 goto :end
goto :LOOP
:END
cscript //nologo vbsEcho.vbs ". Done."
Я попробовал все вышеупомянутое, ни один не работал. Это происходило по-видимому из-за включения некоторых параметров отладки низкого уровня (регистры представления...)
Инструменты-> Импорт и Настройки Экспорта-> Сброс, Все Настройки
разрешили его