Войти

Показать полную графическую версию : BAT файл, который вставляет текст в открытую командную строку.


garanov
10-03-2010, 10:15
вопрос в следующем:

на рабочем столе открыта командная строка.
нужно написать батник, который вставит в эту командную строку нужный мне текст. как ? )

amel27
10-03-2010, 10:58
garanov, пример через NirCmd (http://www.nirsoft.net/utils/nircmd.html):

@Echo Off

nircmd win activate title "Command Prompt"
nircmd sendkey d press
nircmd sendkey i press
nircmd sendkey r press
nircmd sendkey enter press


З.Ы. раскладка целевого окна должна соответствовать отправляемой последовательности

garanov
10-03-2010, 11:03
nircmd не является внутренней или внешней командой

это что за утилитка такая ? кто издатель ? майкрософт или нет ?

amel27
10-03-2010, 11:23
кто издатель ? майкрософт или нет ? »
NirSoft (http://www.nirsoft.net/about_nirsoft_freeware.html)
:)

garanov
10-03-2010, 11:33
ну а можно доверять то этому производителю ? :(

нее. шарашкина контора. есть еще способы ?

Iska
10-03-2010, 11:44
garanov, NirSoft — не шарашкина контора. В ней трудится один человек. Программы от NirSoft я бы поставил на второе место, сразу после Sysinternals. Доверять можно полностью, если Вы берёте их непосредственно с родного сайта http://www.nirsoft.net, а не где попало. Впрочем, дело Ваше. Как варианты — VBScript/PowerShell.

К варианту amel27, я бы только добавил предварительную смену заголовка окна консоли командой title на «нечто уникальное», а затем уже, по написанному, «nircmd win activate title "нечто уникальное"» и т.д.

amel27
10-03-2010, 16:19
в защиту NirSoft добавлю, что Sysinternals - тоже была контора "одного человека"... пока её не купил Microsoft

вариант на VBS: VBS/WSH/JS - [решено] как при помощи SendKeys передать строку в CMD (http://forum.oszone.net/showthread.php?t=169099)

garanov
16-03-2010, 08:20
ребят , вобщем есть текстовый файл (1.txt) там одна строчка написана

как мне написать BAT файл, который вставит эту строчку из этого файла в уже открытую командную строку.? :help:

TakTo
18-02-2015, 00:10
Тот же вопрос спустя 4 года.
В справке nircmd есть:
Новая переменная: ~$clipboard$ - вставляет текст, который Вы скопировали в буфер обмена, в командную строку.
А также:
nircmd.exe clipboard readfile - устанавливает содержание указанного текстового файла в буфер обмена.
Например, nircmd.exe clipboard readfile filename.txt Сочетание и было бы ответом на вопрос автора.

Мой вопрос.
Как использовать переменную ~$clipboard$?
Пока ничего из буфера в командую строку вставить не получилось. Куда ее всунуть?


nircmd.exe clipboard speak text ~$clipboard$

nircmd.exe clipboard infobox ~$clipboard$
это все не то...

Iska
18-02-2015, 05:45
Как использовать переменную ~$clipboard$?
Пока ничего из буфера в командую строку вставить не получилось. Куда ее всунуть? »
Надо полагать, никак. Update: cм. далее в теме.

Вы можете попробовать записать содержимое в файл:
nircmd.exe clipboard writefile "sample.txt"
затем прочитать из него, сделав разбор по for /f, и исполнить по потребности.

Какова Ваша глобальная цель?

TakTo
18-02-2015, 16:08
Iska, так и делаю. Думал, если можно обойтись без создания текстового файла, то почему бы так не сделать? :no:
А цель достигается и так.

Foreigner
18-02-2015, 16:34
nircmdc clipboard set "1234"
или
echo 1234 | clip
nircmdc consolewrite ~$clipboard$

Iska
18-02-2015, 18:31
Foreigner, посмотрел — верно.
nircmd.exe clipboard set "dir"
for /f "delims=" %%i in ('nircmdc.exe consolewrite ~$clipboard$') do %%~i

TakTo
18-02-2015, 20:26
Foreigner, спасибо. Мой косяк. Читал русскую справку, где описание только до версии 2.00.




© OSzone.net 2001-2012