リダイレクトでログに保存されない

このQ&Aのポイント
  • Windows XPもしくはVistaを使用している場合、特定のコマンドを実行するとログに保存されない問題が発生します。
  • 具体的には、for文を使用して複数のログを記述しようとすると、コマンドプロンプト上では結果が表示されるが、ファイルには記述されません。
  • アクセス権の設定に関係なく、ログが正常に保存されないため、正しい構文を使用する必要があります。
回答を見る
  • ベストアンサー

リダイレクトでログに保存されない

Windows XPもしくはVistaを使用しています。 ネットワーク上の空きIPを調べようとし、ネットで以下のコマンドを発見しました。 for /l %i in (1,1,10) do ping -w 1 -n 1 192.168.1.%i && arp 192.168.1.%i >> C:\ipcheck_log.txt これを実行すると、コマンドプロンプト上でping結果が表示され、ipcheck_log.txtのファイルが作成されますが、肝心のping結果が記述されません。ファイルの中身がありません。 しかし、以下のようにIPを特定すると結果が記述されます。 ping 192.168.1.1 >> C:\ipcheck_log.txt for文でログを記述できる正しい構文を教えていただけますでしょうか。 念のため、Cドライブではありませんが、MSのナレッジに従いフォルダに[NT SERVICE\mpssvc]のアクセス権を付与してみましたが、結果は同じでした。

質問者が選んだベストアンサー

  • ベストアンサー
  • FoolWord
  • ベストアンサー率73% (14/19)
回答No.1

arpコマンドに-aオプションを付けてやってみてください。 for /L %i in (1,1,10) do ping -w 1 -n 1 192.168.1.%i && arp -a 192.168.1.%i >> C:\ipcheck_log.txt これで使用しているIPアドレスがテキストファイルに記録されると思います。

saruchan002
質問者

お礼

ご回答ありがとうございます。 仰るとおりの対応で記録されました。 ありがとうございます!

関連するQ&A

  • atコマンドでリダイレクト

    お世話になります。 コマンドプロンプトのatコマンドを使い、時間指定をしてpingを打ち、その結果をファイルに書き込ませたいのです。 バッチファイルを使用してならでき、目的は果たせるのですが、コマンドラインのみでできないのでモヤモヤしてます。 例えば at 23:00 ping www.hoge.co.jp ^> test.txt とすると、23:00になってもtest.txtファイルがどこにも見当たりません。 リダイレクトのエスケープをやめると、ファイルはできるのですが、23:00になる前、コマンドラインを打ち込んですぐにファイルができてしまい、かつ「新しいジョブをジョブ ID = 1 で追加しました。」となり、atコマンド自体の結果がtest.txtに書き込まれてしまいます。 コマンドプロンプトについては、ほぼ初心者です。 atコマンドを使う必然性はないのですが、気になります。 宜しければ教えて下さい。 お願いします!

  • コマンドプロンプトのログ記録

    WinXP/Pro 使用です。 コマンドプロンプトのログ記録を、テキストファイルに書き出すために、例えば dir>c:\kiroku.txt とすると、記述されますが、次に(2度同じ)実行をすると.txtが上書き保存されてしまいます 実行の記録をすべて保存するためにはどうすれば良いのかわかりません。(同じコマンドでの実行を全て保存するログファイルを作りたい) よろしくお願いします。

  • コマンド結果のリダイレクト

    UNIXコマンドで「sar」がありますが、 その中のオプション「-o」を使用しないで ファイルにリダイレクトをしたいです。 なお、その際にバックグランドで実行しています。 sarコマンドは長時間動かし途中でリダイレクト結果をviewなどで見たいのですがどうしたらよいでしょうか? ex) sar 5 10000 > log.txt & これだと、sarコマンドが終了しないとlog.txtに出力されません。いつでもviewなどで最新のlog.txtを見たいです

  • バッチファイルで定期的にファイル削除を行う方法

    windows2003サーバーでテキストファイルにプログラムの処理結果を記述させています。 そのログファイルを1日に1回削除するバッチファイルを作成しようと考えています。 以下のような動きをするようにするにはどのように記述したら良いのでしょうか。(ログファイルの名前をlog.txtとします。) 1,log.txtを削除 2,0キロバイトのlog.txtを作成 「log.txtを削除」はdelコマンドでできますが、「0キロバイトのlog.txtを作成」でファイル新規作成のコマンドがわかりません。 もし分かる方がいましたら教えてください。

  • バッチのログを保存したい

    一つ一つのコマンドをテキストに保存するには、 ipconfig > test.txt とやればよいですが、 いくつかのコマンドを実行した後に、 すべての結果ログを保存するにはどうすればよいでしょうか。 今日からはじめた、超初心者ですがよろしくお願いします。

  • ログを新しい順に保存

    始めまして。お世話になります。 初心者ですがどうぞよろしくお願いします。 cgiでメールフォームを作成しており、ログをテキスト形式で保存するように設定しています。 ログ自体は正しく保存できるのですが、 新しい順にログを保存する方法を参考書を元に以下の通り記述したのですが、新しい順になりません。 open OUT,">> log.txt"; print OUT $data,"\n"; close OUT; open IN,"log.txt"; @txt = <IN>; @txt = reverse @txt; close IN; どこを変更すればよいのかアドバイスをいただけませんでしょうか。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • rdコマンドでログ出力方法

    バッチファイルのrdコマンドでログを出力させたいのですが、ログが出力されません エラー出力は出力されるのですが、標準出力が出力されず、困っています 以下フォルダ構成 -sample.bat -test -log.txt 以下、バッチのサンプルです sample.bat rd /s /q test >> log.txt testフォルダは削除されるのですが、ログに処理内容が記述されず困っています。 また、エラー出力 rd /s /q test2 >> log.txt 2>&1 とするとエラー結果がlog.txtに出力されます。 正常に処理されたときの出力方法ご存知の方いらっしゃいましたらご教授ください よろしくお願いいたします

  • Windows 98系OSでのコマンドラインのリダイレクトについて

    Windows 98又はMeのコマンドラインのリダイレクトについて教えてください。 ◎やりたい事 Windows 98又はMeのコマンドラインの実行結果を正常・異常問わずにログ出力する。 ◎ためした事 ・「echo テスト > log.txt 2>&1」を実行 ⇒Windows 98又はMeで同じ事を実行すると'&1'というファイルができてその中身を見ると正常時のログしか出力されていません。また、log.txtは出力されていません。 ・「echo テスト > log.txt」を実行 ⇒実行結果が正常の場合は出力されるのですが異常の場合はコマンド画面に出力されてlog.txtに出力されません。 いろいろ検索したのですが解決に至っておりません。 よろしくお願いします。

  • BATファイルとタスクでルーターのログを取得

    現在、I-O DATAのETX-Rというルーターを使用しています。 ルーターのIPアドレスは192.168.0.1に設定してあります。 このルーターは、ログファイルがhttp://192.168.0.1/system.logに格納されているのですが、 このログファイルをBATファイルとタスクスケジューラ等を使用して、自動保存したいと考えております。 当初、コマンドプロンプトのtypeコマンドを使用して、指定した場所にtxtファイルとして保存する案を思いついたのですが、typeコマンドではURL(http://)を指定して開くことはできないようでした。 startコマンドを使用してURLを指定すれば開くことは可能なのですが、メモ帳で開いてしまうため、txtファイルで出力できません。 ほかにいろいろと過去の掲示板も検索したのですが、同じような質問が見つからなかったため、投稿いたします。 なにか方法がございましたら、ご教授いただければと思います。 よろしくお願いいたします。

  • リダイレクト指示について2

    C言語初心者です。 よろしくお願いします。 以前にも、同じ内容で質問をしたのですが、もう少し詳しく記載したいと思います。 参考書にあるリダイレクト指示というものを行っているのですが、うまくいきません。 以下に、プログラムを記載しておきます。 ----------------------------------------- /* rdtst.c */ #include<stdio.h> int main(void) { char ss[256]; gets(ss); puts(ss); return 0; } --------------------------------------- ------------実行結果-------------------------------------------- C:\cwork>rdtst enter ////通常の実行//// abcde enter /////キーボードからの入力//// abcde ////画面出力///// C:\cwork>rdtst >aa.txt enter //出力先をaa.txtファイルにする// ABCDE enter ////キーボードから入力//// C:\cwork>type aa.txt enter ////aa.txtの内容を見る//// ---------------------------------------------------------------- 以上のような実行結果になって欲しいのですが、うまくいきません。 以上のプログラムは、参考書に記載されていたものです。 ファイルの置いてある場所をちゃんと指定しなければならないのかと思いましたが、行ってもうまくいきません。 visual studio 2005を使用してC言語で行っております。 ソースファイル「rdtst.c」は、「C:\CCC\redirect」の中にあります。 コマンドプロンプトを使用して、「C:\CCC\redirect>rdtst」と入力しても、「'c:\CCC\redirect' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」と表示され実行できません。 リダイレクト指示を実行させるには、どのようにしたらよろしいでしょうか? 教えていただければ嬉しいです。