• 締切済み

複数コマンドの実行結果をテキストに出力したい

バッチファイルで実行した結果をテキストに出力したいです。 コマンド一個であれば問題ないのですが、複数実行した結果をテキストに出力しようと以下の内容でバッチファイルを作ったのですが、実行すると最後のipconfigだけしか出力されませんでした。 複数コマンドの実行結果すべてを出力するためにどこを修正すればよろしいでしょうか。 hostname & wmic bios get serialnumber & ipconfig > C:\Users\user\desktop\%COMPUTERNAME%.txt

みんなの回答

  • UY-Scuti
  • ベストアンサー率82% (14/17)
回答No.4

hostname>a.txt wmic bios get serialnumber>b.txt ipconfig>c.txt とかにして、それぞれのテキストの文字コードを見てみると、 hostname は、UTF-8 wmic bios・・・は、UTF-16LE ipconfig は、Shift_JIS (ANSI) で、それぞれ文字コードが違うために余計なスペースが入るのではないかと思います。 SerialNumber の後に余計な空白が入ったりもしてますし・・・。 以下をバッチファイルとして実行してみて下さい。余計な空白や空行も調整してます。 set F=%userprofile%\desktop\%computername%.txt powershell -c ^ $a=@();^ hostname ^| %% {$a+=$_+\"`r`n\"};^ wmic bios get serialnumber ^| %% {if($_ -ne ''){$a+=$_.Trim()}};^ ipconfig ^| %% {$a+=$_};^ $a ^| sc %F%

  • Nobu-W
  • ベストアンサー率39% (725/1832)
回答No.3

ごめんなさいっ 間違いでした ^_^; hostname > C:\Users\user\desktop\%COMPUTERNAME%.txt & wmic bios get serialnumber >> C:\Users\user\desktop\%COMPUTERNAME%.txt & ipconfig >> C:\Users\user\desktop\%COMPUTERNAME%.txt これをコマンドプロンプトで実行してみてください m(_ _)m

  • Nobu-W
  • ベストアンサー率39% (725/1832)
回答No.2

C:\Users\user\desktop\%COMPUTERNAME%.txt & wmic bios get serialnumber >> C:\Users\user\desktop\%COMPUTERNAME%.txt & ipconfig >> C:\Users\user\desktop\%COMPUTERNAME%.txt だめかな? >< >> は追記です

回答No.1

最初の1個目を">"として それ以降を">>"と2回かけばよい。 2回書くと「追加モード」になります。

ot8968
質問者

補足

以下のコマンドですべての結果をテキスト出力できましたが、wmic bios get serialnumber の結果だけ文字間に半角スペースが入った状態で出力されてしまいます。。。 対処法わかりますでしょうか? S e r i a l N u m b e r R 8 X 0 0 2 1 5 hostname > C:\Users\kikkawa\desktop\%COMPUTERNAME%.txt wmic bios get serialnumber >> C:\Users\kikkawa\desktop\%COMPUTERNAME%.txt ipconfig >> C:\Users\kikkawa\desktop\%COMPUTERNAME%.txt

関連するQ&A

  • バッチファイル実行結果が半角スペースが入ってしまう

    PC情報を採取してテキストファイルへ出力するバッチファイルを作成しました。 バッチファイル自体は正常に動作するのですが、テキストに出力されるシリアル情報に半角スペースが入った状態で出力されてしまいます。 半角スペースが入らないようにするためにはどのようにすればよいでしょうか。 (例)本来は「R8X00215」と出力されて欲しいのに、「R 8 X 0 0 2 1 5」と出力されてしまう。 (バッチファイルの中身) set NAME=user echo 【PC名】>C:\Users\%NAME%\desktop\%COMPUTERNAME%.txt hostname>>C:\Users\%NAME%\desktop\%COMPUTERNAME%.txt echo 【シリアル情報】>>C:\Users\%NAME%\desktop\%COMPUTERNAME%.txt wmic bios get serialnumber>>C:\Users\%NAME%\desktop\%COMPUTERNAME%.txt echo 【ipconfig情報】>>C:\Users\%NAME%\desktop\%COMPUTERNAME%.txt ipconfig>>C:\Users\%NAME%\desktop\%COMPUTERNAME%.txt

  • コマンド実行結果のファイル出力

    systeminfo echo list volume | diskpart のコマンドを実行結果をテキストファイルに出力したいのですが、 echo list volume | diskpart > "c:\status.txt" systeminfo >> "c:\status.txt" としてバッチで実行しても、何も出力されていないません。 コマンドを画面で入力すると、画面に表示されます。 どうしたらよいか教えてください。

  • diffコマンドにてテキスト出力

    こんばんは。教えてください! 以下のような2つのファイルがあるとします。 ・aaa.txt abc111 abc222 abc333 ・bbb.txt abc333 abc444 これを比較して、比較結果をテキスト出力したいです。 テキスト出力したい比較結果は (1)重複しているもの全てテキスト出力 (2)aaa.txtのみにあるものをテキスト出力 (3)bbb.txtのみにあるものをテキスト出力 また、(1)~(3)は別々のファイルに出力したいです。 diffコマンドで、 diff a.txt b.txt >> c.txt とすると、 1つのテキストファイル(c.txt)に (1)~(3)すべてが書かれてしまいます。 環境は、windows XPにてCygwinを使用しています。 diffコマンドでなくても構いません。 宜しくお願いします。

  • teraterm から起動したプログラムの出力結果を得たい

     teraterm のマクロから exec でテキストを出力するプログラムを起動し,その出力結果をテキストとして保存したいと思っています.  上を実現するために下のようなマクロを作ったのですが,出力結果をテキストファイルとして得られません(下の例では,a.txt が作られません.またはどこに作られているかわかりません). > cmd = 'ipconfig >> a.txt' > exec cmd  マクロを実行すると一瞬黒い画面が見えるのでコマンドは実行されていると思います.何か間違っているのでしょうか.

  • コマンドの結果をテキストに出力

    今Linuxを勉強しています。 bashコマンドを入力した結果をテキストに出力するコマンドありますか? winodwsでいうと下記のような内容です。 dir >C:\dir.txt

  • バッチファイルで実行できたりできなかったり

    こんにちは。 バッチファイルとコマンドプロンプトについて、少々お伺いしたいことがあります。 まず、コマンドプロンプトで以下のコマンドを打ち込んでみたところ、すべて正常に実行することができました。 ping [example.com] > result.txt tracert [example.com] >> tr_result.txt ipconfig /all > ipc_result.txt 次に、各コマンドをテキストファイルに書き込んで、それぞれ "p_test.bat" # 内容は ping コマンド "tr_test.bat" # 内容は tracert コマンド "ipc_test.bat" # 内容は ipconfig コマンド と命名しデスクトップに配置、ダブルクリックで実行してみました。 すると、このうち正常に実行(結果をテキストファイルに出力)されたのは tr_test.bat のみでした。 ここで質問なのですが、なぜこのような違い(バッチファイルにすると実行できるものとできないものに分かれる)が起こるのでしょうか? バッチファイルの作り方やとコマンドプロンプトについて調べてみましたが、説明を見つけることが出来ませんでした。 この辺の理論について詳しい方がおりましたら、ご教示頂きたく思います。 ちなみに、OS は Windows XP SP2 です。 よろしくお願いいたします。

  • 【バッチファイル】コマンド上で書いた文字をテキストに表示

    コマンド上で入力した文字を、元々あるテキスト(メモ帳)に 書き出したいのですが、どなたかご存知の方、ご教授願いますm(_ _)m 例)、 ping 192.168.*.***>"C:\Documents and Settings\=====\デスクトップ\%COMPUTERNAME%.txt" ipconfig /all>>"C:\Documents and Settings\=====\デスクトップ\%COMPUTERNAME%.txt" "C:\Documents and Settings\=====\デスクトップ\%COMPUTERNAME%.txt">notepad.exe ↑で作成したテキストに、サービスタグ(仮に、XTZ1234とします)を追記したい ということです。 よろしくお願いいたします。

  • コマンド「dir」の結果を、テキストに出力

    batファイルを使用して、「dir」コマンドの結果を、既存のテキストファイル「dir.log」に出力したいのですが、実装方法を教えていただけないでしょうか? 詳細: ・dirバッチ:C:\work\dir.bat ・ログファイル:C:\work\dir.log ・dirで出力したいフォルダ:D:\work\配下 以下のリダイレクト?を使用して上書きしたいです。 dir >> dir.log どうか、ご教授お願いいたします。

  • ftpコマンド出力結果の取得

    ftpコマンドのバッチ処理によってファイルの一覧の結果を取得したいのですが、 リダイレクション等を用いても取得できません。 どのようにすればいいか教えてください。 **************状況************* OSおよびOSレベル:AIX5.2 シェル:Kシェル コマンドファイルの中身(ftp.txt) cat << EOF | ftp -n open SERVER user USER PW cd PATH ls -l bye EOF SERVER:実際のサーバー名 USER:実際のユーザー名 PW:実際のパスワード PATH:実際のパス これを以下のように実行し、結果を取得しようとしました。 # ./cmd.ftp > log しかし、出力ファイルlogの中身はカラっぽでした。 ところが、リダイレクションを外し、コマンドファイルのみを実行すると、結果が画面に表示されます。 何故、画面には表示されるのに、リダイレクションやパイプでは結果が渡されないのかが分かりません。

  • perlの出力結果をコマンドラインに渡すことはできますか?

    お世話になります。 コマンドラインで、 <コマンド名> <今の日時> というようなbatファイルを作成して実行をしたいのですが・・・ <今の日時>をperlで作成して、テキストに、"200704080128"のようにSaveしているのですが、 このテキストを、別のbatファイルに渡す方法はあるのでしょうか? バッチファイルから見れば、 %1にそのテキストが入っているような状態にしたいのですが・・・

    • ベストアンサー
    • Perl