![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
DOSプロンプトにてgpgコマンドを実行した際のログ
を出力させようとしています。
リダイレクトを使用しても、ファイルに書き出されません。
(もちろん画面コピーしてから貼り付ければ可能ですが自動化したいです)
gpgコマンドが標準出力へ出力するログは、ファイルに書き出すことは
出来ないでしょうか?
/*****************************************
(例):GPGコマンドが出力するログ(保存したいログ)
*****************************************/
1. gpg暗号化 + 署名 成功時のログ
次のユーザーの秘密鍵のロックを解除するには
パスフレーズがいります:“test <gpg.test@test.co.jp>”
2048ビットRSA鍵, ID FFFFFF作成日付は2014-01-01 (主鍵ID 12345678)
2. gpg復号化 + 署名 検証成功時のログ
次のユーザーの秘密鍵のロックを解除するには
パスフレーズがいります:“test <gpg.test@test.co.jp>”
2048ビットRSA鍵, ID FFFFFF作成日付は2014-01-01 (主鍵ID 12345678)
gpg: 2048-ビットRSA鍵, ID 876543211, 日付2012-01-23に暗号化されました
“public.player <public@test.co.jp>”
gpg: 2014-01-01 02:01:11にRSA鍵ID 12345678で施された署名
gpg: “test <gpg.test@test.co.jp>”からの正しい署名
No.4ベストアンサー
- 回答日時:
>なぜ出ないんでしょ...Wr5さんのPC環境ではgpgコマンドに対する
>リダイレクトに成功しますか?
失敗しますね……。
gpgのソースまでは確認していませんが…リダイレクトを強制的に外している…んでしょうかねぇ……
cmd.exeが妙な挙動をしている。という可能性もあるにはありますが…。
フロントエンド的なプログラム作って、stdoutとstderrをパイプで受け取れるようにしてみないと判らない…でしょうかね。
もっとも、その場合でも別々に出力されるのでコマンド プロンプトの画面に表示される状況とは異なってしまいますが。
CreateProcess()のlpStartupInfo.hStdOutputとlpStartupInfo.hStdErrorに同じハンドル渡せば一緒に取れる…か?
https://msdn.microsoft.com/en-us/library/windows …
パイプに変更してWindows版のteeコマンドで…でも失敗しますし…。
No.3
- 回答日時:
「ご教授頂いた両方リダイレクトは、以前にも試した方法なのですが、
再度やってみました!結果はやはりダメでした^^;」
というのは, 具体的には
・どのようにコマンドを入力して
・どうなった
ということでしょうか?
No.1
- 回答日時:
>gpgコマンドが標準出力へ出力するログは、ファイルに書き出すことは
>出来ないでしょうか?
標準出力ならリダイレクトでファイルに出力されるはずかと。
標準エラー出力だったりしませんか?
http://support.microsoft.com/kb/110930/ja
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- その他(プログラミング・Web制作) VScodeでpythonプログラムの関数を実行したい 2 2022/07/13 19:24
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- Windows 10 ネットワークプリンターにファイルを直接送る方法・コマンドないですか?(´・ω・`) 3 2023/03/13 23:15
- MySQL 次の時間帯の勝率の合計を求めるSQL文 1 2023/07/04 17:12
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
- HTML・CSS ブロックエディターで作りつつ、画像を挿入しつつ、画像にスタイルシートのコードを付ける方法はありますか 1 2022/08/23 18:46
- システム ホームページの仕組みについて 3 2022/08/16 14:33
- Windows 10 renameコマンドでファイル名からアンダースコアを消す方法 5 2023/04/24 13:33
- MySQL テーブル作成時のカラムについて 2 2022/08/27 21:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイル 文字列にスペ...
-
複数のフォルダを開くバッチフ...
-
リネームバッチ
-
DOSプロンプト(cmd.exe)の標準...
-
コマンドプロンプトのERRORLEVE...
-
秀丸文をdivioutするときに・・・
-
gitのpatch当ての方法
-
大量のフォルダからひとつのフ...
-
コマンドプロンプトのエラーに...
-
コマンドプロンプトの「%1」と...
-
クリップNOTEというソフトを使...
-
exeファイルを実行するとコマン...
-
ImgBurnでの書き込み時
-
多数のサブディレクトリ内のフ...
-
Windows System32 Security Hea...
-
バッチファイルで以下のような...
-
binファイルを解凍したいの...
-
ファイルのサイズを0にする or ...
-
Latexで図番号だけを「図1.1」...
-
パソコンのフォルダー内のファ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ終了時にDOS窓を閉じるコ...
-
バッチファイル 文字列にスペ...
-
make test って何をするための...
-
コマンドプロンプトをクリック...
-
ショートカットをデスクトップ...
-
バッチファイルを使ってテキス...
-
シェルの「:コマンドが見つか...
-
ftpコマンドを実行すると「425 ...
-
コンピュータ名をファイル名に...
-
バッチコマンドのIF文(条件...
-
SSH接続でwindowsサーバのコマ...
-
コマンドプロンプトで、特定の...
-
findstrでヒットした1行前の文...
-
FTP送信エラーの検知について
-
DOSコマンドで指定日数よりも過...
-
ftpコマンド出力結果の取得
-
Pythonで単純にファイルを結合...
-
AccessVBAで実行時間を指定する...
-
2つ目の「pause」は無効?
-
コマンドプロンプトを最小化し...
おすすめ情報
お返事ありがとうございます。
コマンドフォーマットで一点補足です。
batファイル内でgpgコマンドを実行しているのですが、以下のような感じです。
gpg --output %OUT% -se -u %user% --passphrase %pass% -r 公開鍵 %1 > log.txt
あと、batファイル実行時にリダイレクトしても標準出力には出力されるのですが、
log.txtには書き込まれません。
xxx.bat > log.txt
また、標準出力&エラー出力指定をした場合、暗号化/復号化失敗したログは
書きだされるのですが、正常処理時や誰の鍵で暗号化した等のログは標準出力
へ出力されたままで、log.txtには反映されません。
下記gpgコマンドであれば、書き込まれるのですが...。
gpg --list-key > pubkey_ring.txt
すみません、もう一点補足です。
Linuxのプロンプト(Ubuntu)で、shファイル内にgpgコマンドを実行して、
リダイレクト(>>&)しますと、期待する出力がされています。
今回はDOSプロンプトで実行したいです。
お返事ありがとうございます。
ご教授頂いた両方リダイレクトは、以前にも試した方法なのですが、
再度やってみました!結果はやはりダメでした^^;
なぜ出ないんでしょ...Wr5さんのPC環境ではgpgコマンドに対する
リダイレクトに成功しますか?
ちなみに私の環境は、『Windows7 64bit』となります。
下記に実行方法と結果を記載します。
[batファイル(a.bat)]
@echo OFF
echo START
rem gpg --output test.txt.gpg -se -u 署名者メアド --passphrase パスフレーズ -r 公開鍵 test.txt log.txt
echo END
[command]
a.bat > log.txt 2>&1
[標準出力]
次のユーザーの秘密鍵のロックを解除するには
パスフレーズがいります:“test <gpg.test@test.co.jp>”
2048ビットRSA鍵, ID FFFFFF作成日付は2014-01-01 (主鍵ID 12345678)
[log.txt]
START
END
[暗号化処理]
暗号化成功(test.txt.gpgが生成)
※ 標準出力をlog.txt内に格納したいです
すみません、a.batの内容が間違っていました。
下記が本物です。
[batファイル(a.bat)]
@echo OFF
echo START
gpg --output test.txt.gpg -se -u 署名者メアド --passphrase パスフレーズ -r 公開鍵 test.txt log.txt
echo END
ご確認ありがとうございます。
やはりスタンダードな手法では標準出力を取得できないようですね...。
Linux上でのシェル(>>& log.txt)では取れるので、DOSの問題なのでしょうか。
実行環境をCygwinに変更してシェルで実行/取得するしかないですかね^^;
ただそうなるとかなりの手間に...><。私も継続的に調査してるのですが見当たりません...。