4

Я спрашиваю, есть ли быстрый способ / команда для сохранения текущего стандартного вывода из cmd.exe или powershell в файл.

Например, я запустил несколько команд в cmd.exe, которые генерируют сотни строк стандартного вывода. В идеале я ищу одну команду, чтобы сделать "выбрать все" и автоматически сохранить в файл.

Примечание: я прочитал это. Но я не хочу менять свои исходные команды, поэтому перенаправление «>» или «>>» не может быть использовано в этом сценарии.

Благодарю.

3 ответа3

4

Возможно, есть более эффективное решение, но вы можете выполнить работу с помощью AutoHotkey.

Сначала скомпилируйте следующий скрипт:

ClipboardBackup := Clipboard
Clipboard =

Send, !{Space} ;Menu
Sleep, 100
Send, e ;Edit
Send, s ;Select All

Send, {Enter} ;Copy
ClipWait

FileAppend, %Clipboard%, *

Clipboard := ClipboardBackup

ExitApp

Поместите файл .exe каталог % PATH% . Я назвал мой savecmd.exe .

Теперь вы можете эффективно сохранить содержимое окна командной строки, используя следующий синтаксис:

savecmd > file.txt

Демонстрация:

спасти

проверить

Примечание: Вы можете добавить больше в скрипт AutoHotkey, чтобы немного очистить вывод, но это работает!

1

Вот более элегантное решение с использованием PowerShell: http://technet.microsoft.com/en-us/magazine/ff687007.aspx

Start-Transcript [[-path] FilePath] [-force] [-noClobber] [-append] 

<your commands>

Stop-Transcript

<get content from FilePath>
1

Скопируйте содержимое окна cmd и вставьте его в Word или другой текстовый редактор. См . Документацию Microsoft о том, как скопировать текст из окна командной строки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .