• 締切済み

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

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

みんなの回答

  • UY-Scuti
  • ベストアンサー率85% (17/20)
回答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