• ベストアンサー

バッチファイル

すいません。初歩的な質問で申し訳ありません。 フォントに色を付けるバッチファイルが うまくできません。 どこか、おかしいですか? OSはWin98SEです。 @echo off @echo [31mKamiKen [1;31mkamiKen [0m

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

  • ベストアンサー
  • HAL007
  • ベストアンサー率29% (1751/5869)
回答No.1

エスケープシーケンスを宣言する &H1B が入っています? >>@echo [31mKamiKen [1;31mkamiKen [0m メモ帳で開と  @echo ■[31mKamiKen ■[1;31mkamiKen ■[0m (■は半角) となります。 &H1Bを入れるにはテキストエディターがないと出来ません。 因みに、98SEでエスケープシーケンスコードが有効なんでしょうか? これってDOSの時代に使われていたものですけど・・・ 参考URLはエスケープシーケンスコードの説明です。

参考URL:
http://www.mirai.ne.jp/~nave/lib/echo.htm

その他の回答 (1)

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.2

エスケープ文字を入力出来るエディタが必要です。 ある物でどうにかするのであれば、 まず、メモ帳などで、 @echo off @echo X[31mKamiKen X[1;31mkamiKen X[0m をコピペして、仮にtest.batとして保存します。 次にtest.batが保存されているフォルダにDOSプロンプトで移動して、 debug test.bat と実行します。 -というプロンプトが出たら、 d と入力し、<Enter>を押します。 するとダンプを表示します。 0111 011E 012D に58つまりXがありますね。 このXをエスケープ文字の1Bに変えます。 e 0111 と入力し、<Enter>を押します。 ????:0111 58, と出たら、 1B と入力し、<Enter>を押します。 この様にして、 011E 012D も58から1Bに変更します。 変更が終わったら確認の為、 d 100 として変更した3箇所が1Bに変わっていることが確認します。 ????:0100 40 65 63 68 6F 20 6F 66-66 0D 0A 40 65 63 68 6F   @echo off..@echo ????:0110 20 1B 5B 33 31 6D 4B 61-6D 69 4B 65 6E 20 1B 5B    .[31mKamiKen .[ ????:0120 31 3B 33 31 6D 6B 61 6D-69 4B 65 6E 20 1B 5B 30   1;31mkamiKen .[0 ????:0130 6D 0D 0A といった感じになっていますか? w と入力し、<Enter>を押します。 最後に q と入力し、<Enter>を押し、debugを終了します。 もし、上記以外の誤った作業をしたら、wをせずにqで抜けてください。 Windows 98がANSI.SYSとか必要だったか不要だったか忘れてしまいました。 もしかしたらCONFIG.SYSでANSI.SYSが無いとエスケープ文字が効かないかもしれません。 当方XPの為、確認出来ませんので、自身なしにさせてください。

関連するQ&A

  • バッチファイル

    会社で、OS WindowsXPを使ってきましたが、先日、初めてWindows7のPCを導入しました。 これまでPC購入時、XPのパソコン設定に使っていたバッチファイルがあります。 そのファイルは以前、別の人に作ってもらいました。 そのバッチファイルをWindows7でも使いたいのですが、設定が反映されませんでした。 私にはバッチファイルがさっぱり分かりません。 以下の内容がこれまで使っていたファイルの中身です。 どなたか、Windows7用に修正していただけないでしょうか。 どうぞ、よろしくお願いします。 【やりたい事】 ローカルセキュリティ設定のアカウントポリシーにて、   パスワードの長さ ⇒ 4文字以上   パスワードの変更禁止期間 ⇒ 0日   パスワードの有効期間 ⇒ 365日   パスワードの履歴を記録する ⇒ 0日   パスワードは要求する複雑さを満たす ⇒ 無効   暗号化を元に戻せる状態でドメインの全ておユーザーのPWを保存する ⇒有効 【WindowsXPで使っていたバッチファイルの中身】 @echo off cd c:\ @echo . @echo _______________________________________ @echo . @echo パスワードポリシーを変更します。 @echo (パスワードの有効期限:無期限、最小パスワード文字数:4文字) @echo _______________________________________ pause net accounts /maxpwage:365 /MINPWLEN:4 /MINPWAGE:0 net accounts pause 以上、よろしくお願いします。

  • Win2000 バッチファイルについて

    こんにちは、 Win2000の環境で下記のバッチがうまく動作できません、”FIND:パラメータ書式が間違います”というエラーが出ています、ほかの2003,2008ではそういう現象が出ていません。 なぜでしょうか? そこの”^|”の”^”を消したとしても無理のようです。 ■簡単にバッチファイルが存在する領域の使用容量を算出するバッチファイルです。(一時ファイルの生成は利用しない、Findコマンドだけを使うという前提で) ソース: @echo off for /F "tokens=3" %%s in ('dir /s/-c ^| find "個のファイル"') do Set s=%%s echo %s% 分かって頂ければご教授ください。 誠にありがとうございます~~。

  • バッチファイル

    バッチファイルで cd C:\MYDOCU~1\TEST dir の2行を実行するようにしたつもりですが カレントでdirされました。 現在のバッチは @ECHO OFF cd C:\MYDOCU~1\TEST dir なんですが、どこを直せばよいですか?

  • バッチファイル完了後、画面が自動で閉じません

    お世話になってます。 WIN98で、ネットワーク上でファイルをコピーさせる目的のバッチファイルを作りましたが、 @ECHO OFF copy \\端末1\A情報\A情報.xls \\端末2\A情報\A情報.xls と記述しただけではバッチファイル実行後に画面が自動で閉じないのです。 WIN2Kの画面で同じことをすると自動的に閉じます。 どうすれば良いか教えてください・・・困ってます。 よろしくお願いします。

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

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

  • バッチファイルについて

    バッチ処理でPerlを処理させたいのですが、どうすればいいのかわからず困っています。 sedだと・・  echo off  if "%1"=="" goto end    echo on     sed -g -f moji1.sed %1.mot > %1.tm1    echo off  :end と書くと処理してくれるのですが、Perlだとどう書けばいいんですかね。どなたかわかる方教えて下さい

  • バッチファイルの見方について教えて下さい。

    バッチファイルを選択⇒右クリック⇒編集とすると テキストが表示されるのですが、 どういう事を書いてるのかよくわかりません。 解る方、教えて下さい。宜しくお願いします。 【pingnum.batの時】 ping 198.105.232.1 ping 198.105.232.6 @echo off echo ... echo Click the Help window to continue with the Internet troubleshooter. 実行するとdos画面でPingが実行されるのですが @echo offから下の部分はどういった意味でしょうか? echo Click the Help window to continue with the Internet は単なるメッセージ?かと思うのですが・・・。 また、下記についてもお願いします。 copyコマンドで指定したファイルを他のドライブに パスをきる時は、\\を付け加える?? A>TYPE BACK.BAT ECHO OFF CLS ECHO バックアップ ECHO ON XCOPY C:\WINDOWS\デスクトップ\コピー元\data\* C:\WINDOWS\デスクトップ\コピー先\data /E/C/H/R/Y ECHO OFF ECHO 完了しました

  • バッチファイルでのif文分岐

    ドラッグ・アンド・ドロップ(以下、D&D)によるバッチファイルを作成する際にダブルクリックでバッチファイルを開こうとする行為のフェールセーフを考えています。 現状では、以下のバッチファイルにファイルやフォルダをD&Dするとif文の分岐の箇所で終了してしまいます。 有識の方の教授をお願いします。 /* ↓↓ 以下コードです ↓↓*/ @echo off if "%1"=="" goto error rem D&Dされたパスを表示 echo %1 echo 終了しました。 goto end :error echo このファイルはダブルクリック形式ではありません。 echo ファイルやフォルダをD^&Dして下さい。 pause exit :end exit /* ↑↑ ここまで ↑↑ */ 開発環境 OS:WindowsXP 以上、よろしくお願いします。

  • バッチファイルについて

    バッチファイルで echo "あああ" のように文字を表示するechoコマンドがありますが、 echo "あああ" echo "いいい" とコマンドを打つと あああ いいい ↑という感じで同じページ(?)に表示されます。 あああと表示されたあとにページが切り替わって いいいと表示したのですが どのようなコマンドを打ち込めばいいのでしょうか? 説明が非常に下手ですみません。

  • バッチファイル内のパスについて

    バッチファイルのパスについて質問があります。 下記内容のファイルを実行すると、  「C:\Programが見つかりません」 というようなエラーとなってしまいます。 setコマンド時には、スペースの入ったパスはエラーとなってしまうのでしょうか? どなたがご教授ください。お願いします。 @echo off set JAVA_HOME=C:\Program Files\JavaSoft\JRE\1.3.1_12