
cmd.exe または powershell からの現在の標準出力をファイルに保存する簡単な方法/コマンドがあるかどうかを尋ねています。
たとえば、cmd.exe で多数のコマンドを実行すると、数百行の標準出力が生成されます。理想的には、"すべて選択" して自動的にファイルに保存する単一のコマンドを探しています。
注: 私は読んだこれただし、元のコマンドを変更したくないため、このシナリオでは「>」または「>>」リダイレクトは使用できません。
ありがとう。
答え1
もっと効率的な解決策があるかもしれませんが、少しの助けがあれば仕事は完了します。オートホットキー。
初め、コンパイル次のスクリプト:
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
を%パス%ディレクトリ。私は と名付けましたsavecmd.exe
。
次の構文を使用すると、コマンド プロンプト ウィンドウの内容を効果的に保存できます。
savecmd > file.txt
デモンストレーション:
注記:AutoHotkey スクリプトにさらに追加して出力を少しクリーンアップすることもできますが、それでも機能します。
答え2
PowerShell を使用した、よりエレガントなソリューションを次に示します。http://technet.microsoft.com/ja-jp/magazine/ff687007.aspx より
Start-Transcript [[-path] FilePath] [-force] [-noClobber] [-append]
<your commands>
Stop-Transcript
<get content from FilePath>
答え3
cmdウィンドウの内容をコピーしてWordまたは他のテキストエディタに貼り付けます。コマンドプロンプトウィンドウからテキストをコピーする方法に関するMicrosoftのドキュメント。