• 締切済み

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

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

みんなの回答

回答No.1

一時ファイルを使用します。 〜略〜 echo 【シリアル情報】>>C:\Users\%NAME%\desktop\%COMPUTERNAME%.txt set snum= wmic bios get serialnumber>%CD%\hostname.txt set /P snum=<%CD%\hostname.txt set snum=%snum: =% echo %snum%>>C:\Users\%NAME%\desktop\%COMPUTERNAME%.txt del %CD%\hostname.txt 〜略

関連するQ&A

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

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

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

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

  • echoの出力の最後のスペースを除去したい

    テキストファイルにechoで出力するバッチファイルを作成しています。 echo出力の最後にスペースが1つだけ余分に追加されてしまいます。 これを除去するにはどうしたらよいでしょうか。 例えば、以下の内容が記載されたバッチファイルを実行すると、 出力の最後に不要な半角スペースが追加されます。    set COMMAND=ping 192.168.0.1 -n 1    echo %COMMAND% >> out.txt

  • バッチファイルでの計算方法

    一行のみのtxtファイル(1111.txt)に日付 スペース 時間 スペース 値 が格納されています。 バッチファイルにて上記値に定数(6666)をかけ単位を追加して出力(2222.txt)したいとおもいます。 以下のように書いてみましたが どこが悪いかよくわかりません。 どなたかお教えいただきたいと思います @ECHO OFF FOR /F "eol=# tokens=1,2,3" %%a in (1111.txt) SET /A x=6666 SET y=%%c*%x% DO ECHO %%a %%b %%y >2222.txt

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

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

  • バッチでテキストを出力したときに改行ができない

    バッチファイルでテキストを出力するのですが、改行ができません echo 一行目 > C:\temp.txt ? echo 二行目 >> C:\temp.txt として結果C:\temp.txtファイル内に  一行目  二行目 ではなく  一行目  二行目 としたいのですが、、 ?にはいるものがわかりません。 echo " " >> C:\temp.txt としても""が入ってしまうし echo   >> C:\temp.txt (全角スペース)を入れても"ECHO は <ON> です。"とメッセージが出てしまいます。 わかる方お願い致します。

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

    こんにちは。 バッチファイルとコマンドプロンプトについて、少々お伺いしたいことがあります。 まず、コマンドプロンプトで以下のコマンドを打ち込んでみたところ、すべて正常に実行することができました。 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 です。 よろしくお願いいたします。

  • バッチファイルで改行の出力

    バッチファイルで,改行のみをファイルに追記したいのですがどのようにすればできますか? echo >> output.txt とすると「ECHO は <OFF> です。」と出力されてしまいます. 全角を出力すれば見た目は同じですが,純粋に改行のみの出力方法をお願いします.

  • バッチコマンドの「set」で入力した内容をファイルに出力する場合の問題点

    DOSのバッチコマンドで以下のようなものを作りました。 set /p abc= echo %abc% > nyuryoku.txt 画面から入力した文字を「nyuryoku.txt」に出力することを意図したものですが、2つ問題が出ています。 (1)何も入力しないと、「nyuryoku.txt」に「ECHO は <ON> です。」と出力されてしまいます。 これは「」(つまりNULL値)を出力できないでしょうか。 (2)「123」を入力すると「nyuryoku.txt」に「123 」と出力されてしまします。つまり最後に半角スペースがついてしまいます。 これは「123」を出力できないでしょうか。 すみません。おわかりになる方がいたら教えてください。

  • テキストファイル内の半角スペースの削除

    よろしくお願いします。 OS:Windows Server 2003,Windows 2000 Server MS-DOSコマンドによるバッチで、あるテキストファイル(.txt)内 を検索し、半角スペースがあった場合は半角スペースを 削除するというものを検討中です。 あるテキストファイルには、「Dir /s /a <ディレクトリパス>」(★) の結果が出力されています。 ※http://okwave.jp/qa2630050.htmlの「その他問題点」の  回避手段を考えています。 http://www.fpcu.jp/dosvcmd/bbs/log/cat3/cat54/4-0515.htmlを 参考にし下記のようにバッチを組みましたが、★の結果から 半角スペースを削除した内容になりません。 ------- set infile=%1 set outfile=%2 for /f "delims=" %%A in (%infile%) do call :sub "%%A" goto :eof :sub set STR=%~1 set STR=%STR: =% echo.%STR%>>%outfile% ------- 何がまずいのでしょうか? <DIR>という文字列を含んでおり、"<" や ">" を考慮する 必要がある気はしていますが、どのように修正すればよいか、 なかなかうまくいきません。 修正点やアドバイスをいただけると幸いです。