Почему при использовании команды pause в командном скрипте окно закрывается?

Как получить имя файла с расширением, хранящееся в переменной с использованием цикла for в коде на cmd? Как исправить код, чтобы окно командной строки не закрывалось сразу после запуска скрипта?
  • 17 июля 2024 г. 8:42
Ответы на вопрос 2
При использовании команды `pause` в командном скрипте окно закрывается, потому что команда `pause` ожидает ввода от пользователя для продолжения выполнения скрипта, а после нажатия любой клавиши окно закрывается.

Чтобы получить имя файла с расширением, хранящееся в переменной с использованием цикла `for` в коде на cmd, можно использовать следующий код:

```
@echo off
set "filename=myfile.txt"
for %%a in ("%filename%") do (
    set "extension=%%~xa"
)
echo %extension%
```

Чтобы исправить код и сделать так, чтобы окно командной строки не закрывалось сразу после запуска скрипта, можно добавить команду `pause` в конце скрипта, например:

```
@echo off
echo Hello, World!
pause
``` 

Это заставит окно командной строки ждать, пока пользователь не нажмет любую клавишу, перед тем как закрыть его.
Должно, если скрипт не падает раньше с ошибкой, 
Запустите его из командной строки и смотрите, что произойдёт.
Похожие вопросы