• ベストアンサー

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に出力されません。 いろいろ検索したのですが解決に至っておりません。 よろしくお願いします。

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

  • ベストアンサー
  • yama5140
  • ベストアンサー率54% (136/250)
回答No.2

( No1 さんへの「お礼」文で・・) >できるだけWindows標準のコマンドラインで頑張りたいところもあるので、 >もう少しほかの方法を探してみます。 というのは、 >インテルの Visual Fortrun のCDが必要なようです。 だからですよね。 ★No1 さんの紹介する ec.exe はネット(参考URL)で簡単に手に入りますよ。  「 DVF-X86-USUPPORT.exe 」をダウンロードし解凍するとWIN95 フォルダに ec.exe が得られます。 また、その説明として、 「このプログラムは、Windows 95/98 上で STDERR 出力を捕まえる  ために使用します。Windows NT 互換のリダイレクション・シンボル  をパースし、取り除いた後、コマンド行を実行します。」 とあります。 質問者様が、この「 STDERR 出力を捕まえる」ことを模索する (>標準のコマンドラインで頑張りたい) なら無駄ですが・・。 ★Meで No1 さんの紹介する方法を、2000 で作ったプログラムで試したところ、質問者様の要望どおりの結果となりました。 ところで、質問者様の" echo "は、マズクないですか?。

参考URL:
http://www.xlsoft.com/jp/products/intel/cvf/visual/utilities.html
kenman001
質問者

お礼

回答ありがとうございます。 yama5140さんのおっしゃるとおり、Visual FortrunのCDが必要と いうのはひとつのネックになっていました。 これは提示していただいた参考URLですぐ解決しました。 あともうひとつネックになっていたのが、 「古いOSだからといってSTDERR出力をログに残せないわけがない」 という思い込みでした。 ですが、教えていただいた説明等を見る限り、STDERR出力自体標準のコマンドラインでは リダイレクトできないような感じですね。ご指摘がなければ空回りを続けるところでしたので大変助かりました。 まず初めに「標準のコマンドラインでエラー時のリダイレクトができるか」を質問するべきだったかもです。 ツールを使用する事に決めてから、別のフリーツールで「doslog」というものもありましたが、 私の環境では教えていただいた「ec.exe」の方が目的にあっていそうです。 今回の問題は「ec.exe」を使用して解決したいと思います。 yama5140様 akira line様 ありがとうございました。 ◎「echo」はエラーしないということでしょうか?  確かにいい例ではなかったです。手抜きをしてすみません・・・

その他の回答 (1)

  • akina_line
  • ベストアンサー率34% (1124/3287)
回答No.1

こんにちは。  下記サイトが参考になるかもしれません。   https://www.xlsoft.com/jp/products/intel/cvf/docs/vf-html/pg/pg03_06.htm では。

kenman001
質問者

お礼

早速の回答ありがとうございます。 リンクのページを確認したところ、 インテルの Visual Fortrun のCDが必要なようです。 できるだけWindows標準のコマンドラインで頑張りたいところもあるので、 もう少しほかの方法を探してみます。

関連するQ&A

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

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

  • 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コマンドを使う必然性はないのですが、気になります。 宜しければ教えて下さい。 お願いします!

  • Windowsから直接起動するアプリにリダイレクトを設定するには?

    Windowsから直接起動するアプリにリダイレクトを設定するには? 「ファイル名を指定して実行」から直接アプリを起動し、それにリダイレクトを設定したいのですが、指定したファイルに出力されずに困っています。 例.「ファイル名を指定して実行」→「ipconfig > c:\hoge.txt」を入力= コンソールに出力 コマンドプロンプト上から「ipconfig > c:\hoge.txt」を実行するとhoge.txtに出力されるので、もしかしたらリダイレクト機能はWindowsではなく、コマンドプロンプトが持ってる?と疑っています。 だとしたら、Windowsから直接アプリを起動する場合、リダイレクトは設定できないことになりますが、この認識であっているでしょうか? 環境:Windows XP

  • リダイレクト時にコマンドラインにも表示

    linuxでプログラムの標準出力結果をコマンドラインに表示させながら,リダイレクトも同時に行うことってできるんですか? できるのならやり方を教えてください.

  • bashでの複数行のコマンドのリダイレクト

    Linux上のbashを使用して、複数行のコマンドの結果を一度にリダイレクトしたいと思います。 思いついた方法が、 #!/bin/bash cat << EOF >> ./test.log cat /etc/fstab cat /etc/inittab cat /etc/modprobe.conf EOF といった方法なのですが、これですとそれぞれのコマンドの結果ではなく、 単に cat /etc/fstab cat /etc/inittab cat /etc/modprobe.conf と言った出力結果がtest.logに出力されてしまいます。 上記のような複数のコマンドの結果を一度にリダイレクトする方法は無いでしょうか? cat /etc/fstab >> ./test.log cat /etc/inittab >> ./test.log cat /etc/modprobe.conf >> ./test.log と言った方法は避けたいと思います(実際には何10行と言うコマンド結果を出力したいので)

  • Diskpart のリダイレクトの質問です

    コマンド プロンプト画面で Diskpart モード時の画面出力をリダイレクトしてテキスト ファイルに残したいのですが、上手く行きません。次のコマンドで Log.txt ファイルに画面出力がリダイレクトされるはずなのですが、記録が全く残りません。   Diskpart /s Script.txt > Log.txt 何度トライしても成功せず困っています。支援をお願いします。なお、テストのために使用した Script.txt ファイルは、次のようになっています。   List Disk   List Volume   Exit

  • 標準出力先を変える

    Windowsで作ったソフトをコマンドラインから実行するときに例えば prog.exe > test.txt のようにするとリダイレクトして標準出力をtest.txtにすることは出来ますが、これをプログラムの中で変えることは出来ますか?

  • 半角スペースをリダイレクトしたい

    DOSコマンドで半角スペースのみをファイルにリダイレクト出力したいのですができません。 失敗例:  echo >D:\a.txt  @echo >D:\a.txt どうやったらできますか。お願いします。

  • Windowsコマンドプロンプトについて

    お世話になっております。 簡単なバックアップスクリプトをbatで作っていたのですが、 正常に動作していたコマンドが急にループしたり、別のコマンドを実行しても前回のループするコマンドが実行されるようになってしまいました。 コマンドプロンプトを新規に立ち上げても治らず、再起動すれば治るのですが原因が知りたくて質問させていただきました。 実行したコマンドです。 ===================== robocopy src tar /E /LOG:%date:~0,4%-%date:~5,2%-%date:~8,2%.txt ===================== 実行結果は以下な感じです。 ===================== #### 正常時 > robocopy src tar /E /LOG:%date:~0,4%-%date:~5,2%-%date:~8,2%.txt 正常終了 > #### 再実行 > robocopy src tar /E /LOG:%date:~0,4%-%date:~5,2%-%date:~8,2%.txt (←実行コマンド) > robocopy src tar /E /LOG:%date:~0,4%-%date:~5,2%-%date:~8,2%.txt (ループ) > robocopy src tar /E /LOG:%date:~0,4%-%date:~5,2%-%date:~8,2%.txt (ループ) ・・・・ループ #### 引数なしで実行 > robocopy  (←実行コマンド) > robocopy src tar /E /LOG:%date:~0,4%-%date:~5,2%-%date:~8,2%.txt (ループ) > robocopy src tar /E /LOG:%date:~0,4%-%date:~5,2%-%date:~8,2%.txt (ループ) ・・・・ループ #### 別コマンドで実行 > echo "test" 正常終了 > ===================== 環境は以下です。 ===================== Windows 10 Pro Version 1909 OS build 18363.1198 ===================== よろしくお願いいたします。

  • Windowsコマンドプロンプトのリダイレクトについて

    宜しくお願いします。 Windowsのコマンドプロンプトで、 abcde /? > c:\textname.txt *abcdeはコマンド名 というようにコマンドの使用方法をリダイレクトで ファイルへ出力しようとしましたところ、 コマンドプロンプト上に出力されてしまい、 0バイトのファイルが生成されるだけです。 なぜでしょうか。 また、対処方法はありますでしょうか。 どうぞ宜しくお願い致します。