Как прочитать текстовый файл в истории командной строки

У меня есть файл .txt с командами командной строки в каждой строке. Как я могу загрузить содержимое этого текстового файла обратно в память «буфер обмена» или «историю» сеанса командной строки и иметь возможность перемещаться по ним клавишами со стрелками вверх / вниз?

Пример команд и формата в файле blah.txt:

ipconfig
ipconfig /flushdns
cd C:\blah

person Jonathan Porter    schedule 07.07.2017    source источник
comment
Консоль поддерживает отдельный буфер истории для каждого присоединенного к ней исполняемого файла - вплоть до количества буферов истории, настроенных в свойствах консоли. Нет консольной функции для изменения буфера истории для данного исполняемого файла клиента (например, cmd.exe, powershell.exe, python.exe и т. Д.). Даже функции для его чтения недокументированы и доступны только через doskey.exe.   -  person Eryk Sun    schedule 07.07.2017
comment
Это больше вопрос ОС, чем вопрос программирования. Вероятно, это больше подходит для суперпользователя. С учетом сказанного откройте командную строку и введите doskey /?.   -  person Ken White    schedule 07.07.2017


Ответы (1)


Джонатан

В настоящее время я не являюсь пользователем Windows, но похоже, что это может решить вашу проблему. Вам придется добавлять команды через .csv или .xml, но не через .txt файл.

https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.core/add-history

Надеюсь это поможет.

person M. Ellis    schedule 07.07.2017
comment
PowerShell обходит историю ввода консоли Windows, поэтому это будет работать, если операция касается только истории ввода для PowerShell. Не сработает установка истории команд для других консольных оболочек, таких как cmd.exe, diskpart.exe, netsh.exe или python.exe, которые используют буферы истории, выделенные в самой консоли. - person Eryk Sun; 07.07.2017
comment
Я все равно поддерживаю голосование, потому что, вероятно, этого хватит для многих, поскольку PowerShell набирает популярность. - person Eryk Sun; 07.07.2017
comment
Спасибо @eryksun за пояснение, что это решение работает только в истории ввода Powershell. - person M. Ellis; 07.07.2017
comment
Хотя это решение только для PowerShell, оно подойдет для той проблемы, которую я решал. Спасибо! - person Jonathan Porter; 01.10.2017