Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.70/10: Рейтинг темы: голосов - 10, средняя оценка - 4.70
5 / 5 / 0
Регистрация: 09.10.2013
Сообщений: 151
1

Как можно внедрить комбинацию "Ctrl+C" в процесс выполнения батника?

17.11.2020, 20:32. Просмотров 1977. Ответов 37
Метки нет (Все метки)

Как можно внедрить комбинацию "Ctrl+C" в процесс выполнения батника?
Можно ли автоматизировать запись с экрана телефона через утилиту adb.exe
А еще лучше было бы в этом батнике клавиша "пробел" имитировала в коде батника нажатие "Ctrl+C"
Windows Batch file
1
2
3
4
5
6
7
8
9
10
:: начать запись с экрана телефона
adb shell screenrecord /sdcard/example.mp4
 
rem комбинация "Ctrl+C" останавливает запись с экрана телефона
 
:: скопировать файл example.mp4 с телефона на компьютер
adb pull /sdcard/example.mp4
 
:: удалить файл example.mp4 с телефона
adb shell rm /sdcard/example.mp4
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2020, 20:32
Ответы с готовыми решениями:

Как закрыть окно "ветвистого" батника по завершении его выполнения?
Батник имеется с вызволением команд и вызовом/запуском других батников. В результате окно первого...

Как программно добавить "Внедрить" код в активную страницу сайта в браузере например "ЯндексБраузер" средствами делфи
Собственно вопрос, Как программно добавить "Внедрить" код в активную страницу сайта в браузере...

Какое научное исследование можно "внедрить" в простой клиент-сервер
Добрый день! Пишу сюда потому что не знаю где еще это можно делать на этом форуме. Добрые...

Как в Word 2010 аккорду "Ctrl ё" присвоить действие кнопки "формат по абзацу"
Скажите, плиз... как в Word 2010 аккорду "Ctrl+ё" присвоить действие кнопки "Формат по абзацу"....

37
3194 / 1825 / 603
Регистрация: 26.04.2015
Сообщений: 6,057
17.11.2020, 23:45 2
nircmd
Windows Batch file
1
2
...
nircmd sendkeypress ctrl+C
------
File.7z
(должна быть рядом с bat или "Полный путь\ctrl+C.exe")
Windows Batch file
1
2
...
ctrl+C
0
2820 / 1497 / 567
Регистрация: 06.06.2017
Сообщений: 4,919
17.11.2020, 23:50 3
Цитата Сообщение от Beer-Sheva Посмотреть сообщение
останавливает запись с экрана телефона
А смысл это делать сразу без ожидания? Логично прописать ключ --time-limit=<SECONDS> после screenrecord.
0
3194 / 1825 / 603
Регистрация: 26.04.2015
Сообщений: 6,057
18.11.2020, 00:26 4
забыл дописать
во втором варианте, чтобы можно было после запуска файла "ctrl+C.exe", выполнять следующие команды, а этому мешает выскакивающий запрос: "Завершить выполнение пакетного файла [Y(да)/N(нет)]?"
надо делать так (к примеру создать папку):
Windows Batch file
1
2
3
4
@echo off
start /b "" ctrl+C
md "Papka"
exit
(если открыть echo on, то можно увидеть что запрос не исчез, а сместился в конец bat, но теперь это уже не мешает выполнению команд после ctrl+C)
0
5 / 5 / 0
Регистрация: 09.10.2013
Сообщений: 151
18.11.2020, 00:40  [ТС] 5
alpap, FlasherX, Вы наверное не совсем правильно поняли меня, я имел ввиду:

1) Запустил батник и автоматом началась запись с экрана телефона.

Далее когда уже все записали:

2) Нажимаем "Ctrl+C", и автоматом запись останавливаться,
копируется запись с телефона на комп,
удаляется запись с телефона,
убиваем процесс adb.exe командой "adb kill-server"

Мне не нужно выставлять запись по времени))

Добавлено через 11 минут
Сочетание "Ctrl+C" это родная комбинация для остановки записи, и я имел виду можно ли как то сделать подмену "Ctrl+C" на нажатие клавиши пробела (а по факту чтобы срабатывала команда "Ctrl+C")
0
2820 / 1497 / 567
Регистрация: 06.06.2017
Сообщений: 4,919
18.11.2020, 00:44 6
Цитата Сообщение от Beer-Sheva Посмотреть сообщение
и автоматом запись останавливаться
А как она может автоматом остановиться без временного интервала? Что служит маркером остановки?
Цитата Сообщение от Beer-Sheva Посмотреть сообщение
можно ли как то сделать подмену
На AHK проще всего. Только к батнику это как относится?
0
5 / 5 / 0
Регистрация: 09.10.2013
Сообщений: 151
18.11.2020, 00:51  [ТС] 7
FlasherX, Может что то вроде этого:
Код
start "" /wait adb.exe shell screenrecord /sdcard/example.mp4
0
2820 / 1497 / 567
Регистрация: 06.06.2017
Сообщений: 4,919
18.11.2020, 00:54 8
Beer-Sheva, не понял. Запись — это поток. Пока его кто-то не остановит или не возникнуть проблемы с питанием/памятью, то запись будет продолжаться. Что тут толку от /wait?
0
5 / 5 / 0
Регистрация: 09.10.2013
Сообщений: 151
18.11.2020, 01:02  [ТС] 9
FlasherX, Если копировать и выставлять по очереди команды из первого поста то все работает, остановкой записи является "Ctrl+C" в окне cmd. Но хотелось бы немного автоматизировать этот процесс.
0
2820 / 1497 / 567
Регистрация: 06.06.2017
Сообщений: 4,919
18.11.2020, 01:15 10
Цитата Сообщение от Beer-Sheva Посмотреть сообщение
Но хотелось бы немного автоматизировать этот процесс.
Ещё раз:
Цитата Сообщение от FlasherX Посмотреть сообщение
Что служит маркером остановки?
0
3194 / 1825 / 603
Регистрация: 26.04.2015
Сообщений: 6,057
18.11.2020, 03:58 11
Цитата Сообщение от Beer-Sheva Посмотреть сообщение
сделать подмену "Ctrl+C" на нажатие клавиши
я дал вам 2 варианта - глаза не в ту сторону? Во втором случае с exe можно сделать к нему ярлык и назначить свою комбинацию, только тогда непонятная замена шила на мыло, чем не устраивает строка запуска файла выполняющего комбинацию ctrl+C так, как я привел позже, с возможностью продолжить дальнейшее выполнение команд, зачем в этом случае что-то подменять?

Добавлено через 1 минуту
и это как ни крути останется в силе:
Цитата Сообщение от FlasherX Посмотреть сообщение
Что служит маркером остановки?
0
5 / 5 / 0
Регистрация: 09.10.2013
Сообщений: 151
18.11.2020, 09:21  [ТС] 12
alpap, В первом варианте выскакивает "Завершить выполнение пакетного файла [Y(да)/N(нет)]?"

Код
 :: начать запись с экрана телефона
^CЗавершить выполнение пакетного файла [Y(да)/N(нет)]? n
 :: комбинация "Ctrl+C" останавливает запись с экрана телефона
Завершить выполнение пакетного файла [Y(да)/N(нет)]? n
 :: скопировать файл example.mp4 с телефона на компьютер
/sdcard/example.mp4: 1 file pulled, 0 skipped. 3.7 MB/s (2118080 bytes in 0.541s)
 :: удалить файл example.mp4 с телефона
 :: убить процесс adb.exe kill-server
Для продолжения нажмите любую клавишу . . .
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@echo off
 
echo. :: начать запись с экрана телефона
adb.exe shell screenrecord /sdcard/example.mp4
:: pause
 
echo. :: комбинация "Ctrl+C" останавливает запись с экрана телефона
nircmd.exe sendkeypress ctrl+C
 
echo. :: скопировать файл example.mp4 с телефона на компьютер
adb.exe pull /sdcard/example.mp4
:: pause
 
echo. :: удалить файл example.mp4 с телефона
adb.exe shell rm /sdcard/example.mp4
:: pause
 
echo. :: убить процесс adb.exe kill-server
adb.exe kill-server
pause
 
exit
Добавлено через 19 минут
alpap, Второй вариант примерно тоже самое выдает.
Код
 :: начать запись с экрана телефона
* daemon not running; starting now at tcp:5037
* daemon started successfully
^CЗавершить выполнение пакетного файла [Y(да)/N(нет)]? n
 :: комбинация "Ctrl+C" останавливает запись с экрана телефона
 :: скопировать файл example.mp4 с телефона на компьютер
/sdcard/example.mp4: 1 file pulled, 0 skipped. 3.6 MB/s (1475873 bytes in 0.392s)
Завершить выполнение пакетного файла [Y(да)/N(нет)]? n
 :: удалить файл example.mp4 с телефона
 :: убить процесс adb.exe kill-server
Для продолжения нажмите любую клавишу . . .
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@echo off
 
echo. :: начать запись с экрана телефона
adb.exe shell screenrecord /sdcard/example.mp4
:: pause
 
echo. :: комбинация "Ctrl+C" останавливает запись с экрана телефона
start /b "" ctrl+C.exe
md "Papka"
 
echo. :: скопировать файл example.mp4 с телефона на компьютер
adb.exe pull /sdcard/example.mp4
:: pause
 
echo. :: удалить файл example.mp4 с телефона
adb.exe shell rm /sdcard/example.mp4
:: pause
 
echo. :: убить процесс adb.exe kill-server
adb.exe kill-server
pause
 
exit
0
3194 / 1825 / 603
Регистрация: 26.04.2015
Сообщений: 6,057
18.11.2020, 14:04 13
Beer-Sheva, если хоть какая-то другая команда в bat требует интерактивной работы, то "эта" запись мешать будет и этого никак не избежать, если же все команды в состоянии выполняться самостоятельно последовательно, то вариант с start /b должен работать. В противном случае придется отказаться от окна cmd, т.е. делать в clink или другом альтернативном варианте способном убрать "эту" запись, также, насколько я знаю, в окне PowerShell можно или убрать или нет изначально. Иначе нужен скрипт
Цитата Сообщение от FlasherX Посмотреть сообщение
На AHK проще всего
чтобы можно было заменять в конкретном окне или на конкретное время штатный хоткей os.
0
5 / 5 / 0
Регистрация: 09.10.2013
Сообщений: 151
18.11.2020, 15:04  [ТС] 14
Цитата Сообщение от FlasherX Посмотреть сообщение
Логично прописать ключ --time-limit=<SECONDS> после screenrecord.
Как подавить этот запрос? "Завершить выполнение пакетного файла [Y(да)/N(нет)]?"

Код
 начать запись
* daemon not running; starting now at tcp:5037
* daemon started successfully
^CЗавершить выполнение пакетного файла [Y(да)/N(нет)]? n
 скопировать запись
/sdcard/example.mp4: 1 file pulled, 0 skipped. 4.2 MB/s (1949071 bytes in 0.443s)
 удалить запись
 убить adb.exe kill-server
Для продолжения нажмите любую клавишу . . .
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@echo off
 
echo. начать запись
adb shell screenrecord --time-limit=180 /sdcard/example.mp4
 
echo. скопировать запись
adb pull /sdcard/example.mp4
 
echo. удалить запись
adb shell rm /sdcard/example.mp4
 
echo. убить adb.exe kill-server
adb kill-server
 
pause
0
2820 / 1497 / 567
Регистрация: 06.06.2017
Сообщений: 4,919
18.11.2020, 15:22 15
Цитата Сообщение от Beer-Sheva Посмотреть сообщение
Как подавить этот запрос?
Windows Batch file
1
2
CHOICE /C YN /M "Завершить выполнение пакетного файла [Y(да)/N(нет)]?"
if %errorlevel%==1 exit
0
5 / 5 / 0
Регистрация: 09.10.2013
Сообщений: 151
18.11.2020, 15:25  [ТС] 16
FlasherX, Это нужно вставить сразу после?
Код
adb shell screenrecord --time-limit=180 /sdcard/example.mp4
0
2820 / 1497 / 567
Регистрация: 06.06.2017
Сообщений: 4,919
18.11.2020, 16:19 17
Beer-Sheva, да, если сие нужно до выполнения остальных команд.

Цитата Сообщение от Beer-Sheva Посмотреть сообщение
подавить
Не так прочёл. Этот текст сразу после отработки появляется?
Можно так попробовать: echo Y|adb shell screenrecord ...
0
5 / 5 / 0
Регистрация: 09.10.2013
Сообщений: 151
18.11.2020, 18:29  [ТС] 18
FlasherX, Это сообщение вылетает сразу же после остановки записи по Ctrl+C
0
3194 / 1825 / 603
Регистрация: 26.04.2015
Сообщений: 6,057
18.11.2020, 19:23 19
победил вроде
если для варианта утилиты "ctrl+C.exe"
Windows Batch file
1
2
3
4
5
@echo on
echo Команда1
ctrl+C& <nul set /p=
echo Команда2
pause
------
[ctrl+C2.7z]
для варианта утилиты "ctrl+C2.exe" (собственно просто запуск)
Windows Batch file
1
2
3
4
5
@echo on
echo Команда1
ctrl+C2
echo Команда2
pause
0
5 / 5 / 0
Регистрация: 09.10.2013
Сообщений: 151
18.11.2020, 20:23  [ТС] 20
FlasherX, Не помогает.
Код
 запустить сервер и начать запись
 чтобы остановить запись Ctrl+C
* daemon not running; starting now at tcp:5037
* daemon started successfully
Y
^CЗавершить выполнение пакетного файла [Y(да)/N(нет)]? n
 скопировать запись
/sdcard/example.mp4: 1 file pulled, 0 skipped. 4.2 MB/s (2361231 bytes in 0.538s)
 удалить запись
 убить adb.exe kill-server
Для продолжения нажмите любую клавишу . . .
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@echo off
 
echo. запустить сервер и начать запись
echo Y | adb shell screenrecord --time-limit=180 /sdcard/example.mp4
 
:: чтобы остановить запись Ctrl+C
 
echo. скопировать запись
adb pull /sdcard/example.mp4
 
echo. удалить запись
adb shell rm /sdcard/example.mp4
 
echo. убить adb.exe kill-server
adb kill-server
 
pause
exit
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2020, 20:23

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как запретить использовать клавиши масштабирования и "Ctrl + Колесу прокрутки" и обновления страницы "F5" в WebBrowser - е ?
Как запретить использовать клавиши масштабирования и &quot;Ctrl + Колесу прокрутки&quot; и обновления...

Как в sql реализован логич.тип?Как можно в sql сделать так,чтобы были только значения "0"и"1" или "да"и"Нет"?
Хочу использовать в таблице переменные логического типа, но не нашла ничего про логический тип в...

Как написать регулярное выражение для выдергивания английских букв и символов: "+", ",", ":", "-", " ", "!", "?" и "."
Не могу ни как собразить как написать регулярное выражение для выдергивания английских букв и...

Темы msstyles. Как можно сделать, чтобы кнопки "Закрыть", "Развернуть" и "Свернуть" отображались слева, а не справа?
Хочу создать свою тему (через theme и msstyles) для Windows, чтобы там кнопки системного меню были...

Что выведется на экран после выполнения следующего утверждения: Console.WriteLine("Sharp is neat".Replace("is", "AAA")
A) SharpAAAneat B) SharpAAA neat C) Sharp AAA neat D) Sharp AAAneat

Программно залипают клавиши "CTRL", или "ALT", или "SHIFT"
Проблема такая. При работе в браузере вдруг при нажатии на ссылки страницы стали открываться на...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.