С Новым годом! Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.95/56: Рейтинг темы: голосов - 56, средняя оценка - 4.95
33 / 6 / 0
Регистрация: 18.05.2014
Сообщений: 127

Получить заголовок окна CMD

06.04.2016, 00:05. Показов 12735. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер!

Допустим я запускаю некий скрипт в окне CMD. Подскажите, как можно получить текущее значение заголовка окна CMD?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.04.2016, 00:05
Ответы с готовыми решениями:

Как получить хендл окна из batch/cmd?
В смысле как обратиться к другому окну? Добавлено через 53 секунды Задача состоит в том, чтобы найти определенную запущенную...

Размер окна в cmd
Привет всем..такая вещь...есть как мы знаем все, команда для изменения размера окна в консоли MODE CON COLS=78 LINES=40 когда в...

Незаметное открытие cmd-окна
Как сделать, так что бы на экране не было видно выполнение работы bat. Я произвожу запуск bat файла с помощью планировщика, но даже если из...

23
1047 / 531 / 66
Регистрация: 16.01.2013
Сообщений: 4,094
06.04.2016, 07:57
lorents, подробнее опишите и для чего вам это. Может есть другой путь к решению вашей задачи.
0
4 / 4 / 2
Регистрация: 30.11.2015
Сообщений: 29
06.04.2016, 08:10
Так пойдет?
Windows Batch file
1
2
3
@ECHO OFF
title ThisWindowName
pause > nul
0
33 / 6 / 0
Регистрация: 18.05.2014
Сообщений: 127
06.04.2016, 09:11  [ТС]
evgenii3000,
У меня есть bat-скрипт, когда его запускаю, он изменяет название заголовка на свой, хочу сделать так, чтобы когда скрипт заканчивает работу, менял названия заголовка который был до изменения.

Добавлено через 27 секунд
Upszn1449,
а что значит ThisWindowName?
0
4 / 4 / 2
Регистрация: 30.11.2015
Сообщений: 29
06.04.2016, 09:45
Я вас правильно понимаю, что изменяется название окна консоли? Вот и внесите желаемое название окна. (Вместо ThisWindowName)
Я часто пользуюсь такими конструкциями:
Windows Batch file
1
2
3
4
5
@ECHO OFF
title NAME1
REM Здесь первый блок операторов
title NAME2
REM Здесь второй блок операторов
Вот и будет изменятся название окна при выполнении скрипта.
0
33 / 6 / 0
Регистрация: 18.05.2014
Сообщений: 127
06.04.2016, 10:06  [ТС]
Upszn1449, вся проблема в том, что не знаю какое название заголовка было до запуска моего скрипка.
0
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
06.04.2016, 12:52
При чем здесь желание различать окна по заголовку?! Еще скажите по хэндлу. Человек русским языком написал: "заголовок окна" консоли, - в переводе на русский это значит:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
@echo off
  setlocal
    for /f "tokens=2 delims=:-" %%i in (
      'tasklist /v /fi "imagename eq cmd.exe"^
       /fo list ^| findstr /rc:"- %~n0"'
    ) do set "ct=%%~i"
    set "ct=%ct:~1,-1%"
    title Condom principle
    ping -n 3 127.0.0.1>nul
    title %ct%
  endlocal
exit /b
1
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
06.04.2016, 12:52
lorents,
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
::первый
@echo on
title proba1
echo privet
pause
 
::второй
@echo on
title proba2
echo privet
pause
Создайте два батника отдельных или в одном потом запустите и до этого откройте окно с процессами и подумайте для чего надо
Цитата Сообщение от lorents Посмотреть сообщение
получить текущее значение заголовка окна CMD?
Добавлено через 2 минуты
Если хочется отличать окна cmd (не важно) по заголовку или внутренностям то это в сторону autoit.
0
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
06.04.2016, 17:05
Лучший ответ Сообщение было отмечено lorents как решение

Решение

Такого же эффекта можно добиться, используя PowerShell:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
@echo off
  setlocal
    for /f "delims=-" %%i in (
      'powershell /nop /ex bypass "&{[Console]::Title}"'
    ) do set "ct=%%~i"
    set "ct=%ct:~0,-1%"
    title Condom principle
    ping -n 3 127.0.0.1>nul
    title %ct%
  endlocal
exit /b
2
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
06.04.2016, 22:25
greg zakharov, На PS сработал 6-ю строку убрал, портит вывод
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@echo on
 
title proba1
echo privet
 
  setlocal
    for /f "delims=-" %%i in (
      'powershell /nop /ex bypass "&{[Console]::Title}"'
    ) do set "ct=%%~i"
    title Condom principle
    ping -n 3 127.0.0.1>nul
    title %ct%
  endlocal
pause

вариант на cmd как ни крутил - ни в какую не определяет бывший заголовок.
1
33 / 6 / 0
Регистрация: 18.05.2014
Сообщений: 127
07.04.2016, 00:06  [ТС]
greg zakharov, благодарю вас! именно то что нужно. У меня первый вариант тоже не работает. Подскажите, можно это исправить?
0
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
07.04.2016, 11:21
Цитата Сообщение от lorents
Подскажите, можно это исправить?
Как вариант: трассировка отдельно взятой команды, - чай, можно только предполагать, отчего у Вас оно не работает.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
07.04.2016, 13:37
Цитата Сообщение от lorents Посмотреть сообщение
Подскажите, можно это исправить?
С помощью cmd получилось так:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
@echo on
 
title proba1
echo privet
 
for /f "tokens=4 delims=:" %%a in ('tasklist /v /fi "imagename eq cmd.exe"^|find "Running"') do set "nt=%%a"
title proba2
ping -n 3 127.0.0.1>nul
title %nt: =%
pause>nul
.

Добавлено через 7 минут
Цитата Сообщение от alpap Посмотреть сообщение
find "Running"
- это надо точнее через findstr сделать
Windows Batch file
1
findstr /c:"Running"
, чтобы не было похожего в title, как вообще обойти качественнее не знаю пока и желательно чтобы в title "Что-то" было без пробелов вывод будет слитным или тогда в 9й строке
Windows Batch file
1
title %nt%
, но пробел спереди один (пол-беды, можно убрать
Windows Batch file
1
title %nt:~1%
) и после неимоверная куча, вид более менее, но в качестве, например имени или пути уже приплыли, придется все убирать и учитывать.
0
33 / 6 / 0
Регистрация: 18.05.2014
Сообщений: 127
07.04.2016, 14:45  [ТС]
Благодарю! Я правильно понимаю лучше использовать версию PowerShell, что все работало быстро и без проблем?
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
07.04.2016, 22:04
Цитата Сообщение от lorents Посмотреть сообщение
без проблем
- да,
Цитата Сообщение от lorents Посмотреть сообщение
быстро
- как когда, на скорость некоторые жалуются, особенно, если не отключать профиль, но при небольшой или редкой задаче вы этого и не заметите, а в целом альтернатива замечательная.

Добавлено через 6 часов 51 минуту
lorents, Если надо на чистом cmd, то вот так работает четко, даже с пробелами и совпадающем title со строкой поиска:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
@echo on
 
title Running proba1
echo privet
 
for /f "tokens=4 delims=:" %%a in ('tasklist /v /fi "imagename eq cmd.exe" /fo csv /nh^|findstr /c:"Running"') do set "nt=%%~a"
echo %nt:~2,-1%
title proba2
ping -n 3 127.0.0.1>nul
title %nt%
pause
.
1
33 / 6 / 0
Регистрация: 18.05.2014
Сообщений: 127
07.04.2016, 22:37  [ТС]
alpap, Спасибо большое!!!

Добавлено через 26 минут
alpap, у меня не работает
Миниатюры
Получить заголовок окна CMD  
0
 Аватар для volodin661
6671 / 2264 / 346
Регистрация: 10.12.2013
Сообщений: 7,827
07.04.2016, 23:30
заголовки окон и так перед глазами, если ты не слепой.

какую задачу ты решаешь?
0
33 / 6 / 0
Регистрация: 18.05.2014
Сообщений: 127
08.04.2016, 00:12  [ТС]
volodin661, у меня проект https://github.com/lorents17/iCatalyst при работе изменяет название заголовка, хочу сделать так, чтобы проект после работы возвращал название заголовка до изменения.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
08.04.2016, 00:27
Цитата Сообщение от lorents Посмотреть сообщение
у меня не работает
Быть не может:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
@echo on
 
title Running proba1
echo privet
 
for /f "tokens=4 delims=:" %%a in ('tasklist /v /fi "imagename eq cmd.exe" /fo csv /nh^|findstr /c:"Running"') do set "nt=%%~a"
title proba2
ping -n 3 127.0.0.1>nul
title %nt:~2,-1%
pause
.

Добавлено через 2 минуты
Разве что у вас не берет csv, а такое на некоторых системах бывает. В таком случае на вашей системе только через PS.
0
 Аватар для volodin661
6671 / 2264 / 346
Регистрация: 10.12.2013
Сообщений: 7,827
08.04.2016, 00:58
Цитата Сообщение от lorents Посмотреть сообщение
хочу сделать так, чтобы проект после работы возвращал название заголовка до изменения.
Так запускай отдельной сессией ( CMD /c ),
после возврата должно вернуться старое наименование.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.04.2016, 00:58
Помогаю со студенческими работами здесь

Защита окна CMD от нажатий
Доброго времени всем! Есть файл name.bat Содержимое его: @ECHO OFF echo Идет установка K-Lite Codec Pack Mega, пожалуйста...

Завершение процесса cmd по имени окна
Здравствуйте все. Фрагмент исполняемого bat файла: tasklist /v /fi "imagename eq cmd.exe" /fo csv /nh |findstr Profile1>nul if...

Удаление файла при закрытие окна CMD
Приветствую! Выполняя команды писался в файл текст (file.txt), но тут решил просто закрыть окно не проходя полный процесс программы, а...

Проверка наличия запущенного процесса cmd.exe по имени его окна
Очень нужна ваша помощь! Суть: необходимо в БАТнике провести проверку на предмет запущенного приложения по имени окна командной строки,...

Как написать cmd создающий другой cmd
Добрый день. Смысл в том, чтобы создать CMD с настройками текущего ПК: имя компьютера и имя пользователя, чтобы потом применить эти же...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru