Как отобразить сообщение перед каждой командой в .bat-файле?

#windows #batch-file #cmd

#Windows #пакетный файл #cmd

Вопрос:

Перед каждой командой отобразите ее эффект (пользовательское сообщение) в виде сообщения, а после его выполнения поставьте условие, чтобы система ожидала нажатия любой клавиши, чтобы иметь возможность просмотреть результаты, и после каждой команды очищайте экран. Я пытался написать это

 @ECHO OFF
ECHO Create testDir folder
MKDIR testDir
PAUSE
CLS
ECHO Remove testDir folder
RMDIR testDir
PAUSE
CLS
PAUSE
 

Но есть ли способ сделать это в цикле каким-то образом?

Комментарии:

1. Удалите @Echo off и предварите любую команду, которую вы хотите подавить, эхом от использования @ символа.

Ответ №1:

 @echo off
SETLOCAL
call :exec "Create testDir folder" "MKDIR testDir"
call :exec "Remove testDir folder" "RMDIR testDir"
goto :eof

:exec
echo %~1
%~2
pause
cls
goto :eof
 

[не проверено]

Возможно — просто укажите текст и команду в качестве двух параметров внутренней подпрограммы :exec

Вам нужно быть осторожным с экранирующими символами, такими как %!)>< though.