コマンドプロンプトで文字化けします。
「dir」などのコマンドを打ってみたところ、英語のフォルダ名は表示されるのですが、日本語のフォルダ名が「□□□」となり文字化けしています。

文字化けしているところをコピーし、メモ帳に貼り付けたところ、日本語のフォルダ名もきちんと表示されます。


jp[Enter]を行っても、やはり変わりがありません。
「規定値」-> コードページを確認したところろ、「932(ANSI/OEM - 日本語 Shift-JIS)」となっています。
chcpコマンドを使い、文字コードをutf-8にしても変わりませんでした。

PC環境は、Windows 7 Professional 32bitとなっております。

どうすれば日本語を表示できるか教えていただけますでしょうか。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

>文字化けしているところをコピーし、メモ帳に貼り付けたところ、日本語のフォルダ名もきちんと表示されます。


であれば問題はコードページではなくフォントですね。
Windows7でも同じか分かりませんがXPでのフォントの変え方は、
メニューバー右クリックから「プロパティ」の「フォント」です。「ラスタフォント」か「MSゴシック」か、どちらでもほぼ同じ結果になると思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。
ご指示の通りに設定したところ、問題が解決されました。

「プロパティ」からフォントの設定を確認してみたところ、「MSゴシック」が選択されていました。一応「ラスタフォント」を選択してみたところ、見事に日本語が表示されました。

その後、「MSゴシック」を選択してみましたが、元のおかしな表示ではなく、やはり日本語が表示されました。

画面ではきちんとフォントが選択されているように見えて、実はそうではなかったのでしょうか。
とにかく解決できてよかったです。ありがとうございました!

お礼日時:2011/04/11 11:16

とりあえずコマンドプロンプトはそのままにして、再起動し、OS等をアップデートしてみましょう。

    • good
    • 0
この回答へのお礼

ご解答ありがとうございます。
再起動し、OSをアップデートしてみましたが解消されませんでした。
また他の方法などございましたらご指示お願いいたします。

お礼日時:2011/04/11 10:30

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qbatである文字列内に特定の文字列が含まれているか確認したい

batファイルの中である変数「abc」の中に「test」という文字が含まれていたら○○を行なうという分岐を作成したいのですが、どのように行なえばよいのでしょうか?

そのまま、ずばりのお答えお待ちしております。

よろしくお願い致します。

Aベストアンサー

大文字小文字を区別しなくていいなら、

if not "%abc:test=%" == "%abc%" echo 含まれていた

区別するなら、

echo %abc% | find "test" >NUL
if not ERRORLEVEL 1 echo 含まれていた

QWindows10、日本文字の文字化けについて

今日、windows10で解凍ができないという問題の解決策について質問したばかりですけれど、もう一つ質問があったので再度質問させていただきます。
Windows10で日本語のソフトや日本語のダウンロードファイルの内容などで文字化けが起こることがかなり多いのですが、これについてはなにか解決策はあるのでしょうか?
別に文字化け状態でも適当にやって何とか無事にソフトを使えてはいますが、やはり文字化けだと一つ一つ試さなくてはならないため非常に不便です。
この問題についてはかなり前から解決方法を探していますが、未だ解決法が見つかりません。
パソコン自体に初期状態から入っているフォントをいじってみたりといろいろ試していますが、文字化けは直りません。
やはりソフトのデータやファイルの名前をいちいち書き換えるなど地道な方法が最善の解決方法だったりするのでしょうか?

Aベストアンサー

圧縮ファイル名まで文字化けするというのはちょっと不可解ですが、それを除けばWindowsの言語設定が英語(など欧米)になっている可能性が高いです。
Windowsの言語設定には2種類あって、Windows自体の表示言語を司るものと、「Unicode対応でないプログラムの言語」を司るものがあります。
この内「Unicode対応でないプログラムの言語」が間違っているとそのような文字化けになります。
「Unicode対応でないプログラムの言語」は別名「システムロケール」ともいいます。

Windows10での設定方法は知らないのですが、Windows8.1での解説が見つかりましたので参考になると思います。
http://www.loconoco.info/?p=1115
これで既に日本語でしたら、残念ながら原因は分かりません。

なお、これが原因だった場合不可解なのが、日本語版ではデフォルトで日本語になっていますのでWindowsが日本語版でなかった可能性が高いことで、
日本国内で普通に買えば日本語版ですし、そうでなければ把握していそうなものですから、「分からない」で欧米版というのは…。
最近は中国語OSの入ったタブレットPCが秋葉原で安く売られているのでその可能性も考えたのですが文字化けの種類からして欧米ですし。

圧縮ファイル名まで文字化けするというのはちょっと不可解ですが、それを除けばWindowsの言語設定が英語(など欧米)になっている可能性が高いです。
Windowsの言語設定には2種類あって、Windows自体の表示言語を司るものと、「Unicode対応でないプログラムの言語」を司るものがあります。
この内「Unicode対応でないプログラムの言語」が間違っているとそのような文字化けになります。
「Unicode対応でないプログラムの言語」は別名「システムロケール」ともいいます。

Windows10での設定方法は知らないのですが、...続きを読む

QDirコマンドでフォルダ内ファイルの合計サイズをだすには?(コマンドプロンプトにて)

いろいろ調べましたが不明な点があり、質問します。

WindowsのDOSプロンプトでdirコマンドを打つとフォルダ・ファイルの一覧が表示されますが、その中にファイルサイズが表示されています。
このサイズを合計できるコマンドはありませんか?
DIRコマンドのオプションを調べましたがそれらしいものが見当たりません。
具体的には
C:\xxx\配下に50個程度のファイルがあります。
その50個の合計サイズを知りたいです。
xxxフォルダの親フォルダにはアクセス不可です。

ずーっと悩んでいます。よろしくお願いします。

なお、OSはWindowsNTか2000で使用予定です。

Aベストアンサー

カレントドライブ、カレントフォルダを
C:\xxx\
にした状態で、

dir /s /a-d

/sパラメータででサブディレクトリすべてを検索
/a-dパラメータでディレクトリ以外のファイル(つまり属性に関係なくすべてのファイル

これを実行すると最後にファイルの個数とファイルサイズの合計を表示します。

もし、隠し属性のファイルは合計しないのであれば、

dir /s

だけで良いと思われます。

Q【フォルダ名の文字コードを変換したい】

【フォルダ名の文字コードを変換したい】

Windows Vistaです。

Windowsではフォルダ名にShift-JISを使っていますが、とあるプログラムが日本語を読み込む際、文字コードがUTF-8でないと読み込めないようで、フォルダ名に日本語を含むフォルダを参照すると文字化けしてしまいます。
なのでフォルダ名をUTF-8に変換したいです。

検索するとLinux上でShift-JISのフォルダ名をUTF-8にしたり、Windows上でもファイルの内容をShift-JISからUTF-8に変換したりする方法は見つかるのですが、Windows上でフォルダ名をUTF-8に変換する方法が見つかりません。
UTF-8に変換するとエクスプローラ上では文字化けするので、需要がないのでしょうか。
コマンドプロンプトとか苦手なので、何かフリーソフトでもあればいいのですが…

Aベストアンサー

>間違いなくUTF-8です。
了解しました。そんなソフトもあるのですね、初めて知りました。

>Shift-JISとかUTF-8とか関係なく、バイナリ的にフォルダ名を変更することはできないのでしょうか。
できません。
Windowsのファイル/フォルダ名はUnicodeで記録されています。
それを、WindowsのAPIか何かで普通に読むと、OSの言語に応じて標準の文字コードに変換された値が返ります。日本語ではShift_JISです。
ソフトから読めるのはこの変換された状態のデータだけです。変換結果はShift_JISで解釈できる値のみしか含まれないので、UTF-8で読める値にすることはできません。

QMS-DOSのバッチファイルの中で日本語ファイルを取り扱うには

ある日本語で書かれたファイルの名称をバッチファイルで変更しようとしています。
rena.bat (以下中身) -------------
rename "ごろ猫のサンバ.txt" "test.txt"
---------------------------------
実行すると「The system cannot find the file specified. 」の表示です。

しかし、MS-DOSプロンプトのコマンドラインから直接
> rename "ごろ猫のサンバ.txt" "test.txt"
を打ち込むと正常に動いてくれます。

目的はリネームをしようという事ではなく、バッチファイル中の日本語を含むファイル名(+パス)の取扱いができないことで派生して色々検証した結果、取り扱えないという状況で質問している次第です。

何か勘違いしているのでしょうか。バッチファイル中で日本語ファイルを取り扱うにはどうしたらいいのでしょうか?ご存知の方、ご教授ください。

Aベストアンサー

> 「現在のコード ページ: 932」と出て
ということはコマンドプロンプトの話でしょうかね。

XPの場合ですが、
コマンドプロンプトのウィンドウのアイコンの上で右クリックすると表示されるメニューから『規定値』を選択すると現われるダイアログで
オプションタブの規定のコードページを932にすれば最初から日本語モードでコマンドプロンプトが起動するようになりますけど。

QDOSのバッチで、テキストファイル中の文字を置換したい

いつもお世話になっております。

WindwsXPでDOSバッチを使ってテキストファイル中にある文字列1を文字列2に置換したいのです。
ネットをさまよっていて、こんな例を見つけました。
(参考にしたのはここです。http://www.fpcu.jp/dosvcmd/bbs/log/cat3/cat54/2-0391.html)

======================
@echo off
if "%1"=="" goto end
set fname=%1
copy %fname% org >nul
type nul >%fname%
for /f "tokens=1* delims=" %%a in ( org ) do (set line=%%a&& call :sub)

del org
goto end

:sub
:この1行下の acb=xyz に置換前と置換後の文字列を指定する。
set l=%line:abc=xyz%
echo %l%>>%fname%
goto :EOF

:end
======================

これをsample.batという名前で保存し、DOSのウィンドウでsample < a.txt と打つと、a.txtファイル中の"abc"が"xyz"に置き換わります。

これに手を入れて置換前と置換後の文字列を可変にしたく思い、sub中に

set mae=abc
set ato=xyz

の2行を加え、変数に値を設定するようにしました。

ところが、次の1行の書き変え方がわかりません。

set l=%line:abc=xyz%



set l=%line:%abc%=%xyz%%

のように変えてみましたが、うまく動きません。

どなたかご教授いただけませんか。DOSだけでファイル中の文字列の置換ができればset文を使う使わないにはこだわりません。

いつもお世話になっております。

WindwsXPでDOSバッチを使ってテキストファイル中にある文字列1を文字列2に置換したいのです。
ネットをさまよっていて、こんな例を見つけました。
(参考にしたのはここです。http://www.fpcu.jp/dosvcmd/bbs/log/cat3/cat54/2-0391.html)

======================
@echo off
if "%1"=="" goto end
set fname=%1
copy %fname% org >nul
type nul >%fname%
for /f "tokens=1* delims=" %%a in ( org ) do (set line=%%a&& call :sub)

del org
goto end

:sub
...続きを読む

Aベストアンサー

No.5 です。

>勝手に引用してしまってすみません。
皆さんに参考にしてもらうために回答しているので気になさらずに引用してください。

さてご質問の件ですが、

◆予備知識
まず、環境変数を%で囲むと、バッチがその行を実行するときに環境変数の中身に置き換えられることを理解してください。
例)
set mae=abc
set ato=xyz

echo %mae% %ato% ←※

※の行が実行されるとき、実際は
echo abc xyz
と置き換えられてecho文が実行されます。

また、バッチ内では %% と%が2つ並んだ記述は1つの%に置き換えられます。

例)echo 10割は100%%
10割は100%


◆今回の場合

call set l=%%line:%mae%=%ato%%%
↓実行されるときに以下のように置き換えられます。
call set l=%line:abc=xyz%

置き換え後に call 文が実行されます。このcall文の記述だと set l=%line:abc=xyz% という1行のバッチを呼び出しているのと同等の動作になります。従って環境変数lineに入っている文字列のabcがxyzに置き換えられた結果が環境変数lに代入されます。
call文でワンクッション置いて、先に環境変数の mae と ato (と%%)だけ評価(環境変数の中身に置き換え)するようにしています。

◆単純に set l=%line:%mae%=%ato%% とした場合なぜうまくいかないか

set文の右辺の各要素を分けて書くと

%line:%(line: という環境変数の中身)→そんな変数は定義していないので空に置き換え

mae

%=%(= という環境変数の中身)→そんな変数は定義できないので空に置き換え

ato

%% → % に置き換え

と解釈されて
環境変数lには maeato% という文字列が代入されてしまいます。


余談ですがバッチ実行時にどのように置き換えられるか見たい場合は、
バッチ先頭のecho offの行を取って実行するとよく分かります。

No.5 です。

>勝手に引用してしまってすみません。
皆さんに参考にしてもらうために回答しているので気になさらずに引用してください。

さてご質問の件ですが、

◆予備知識
まず、環境変数を%で囲むと、バッチがその行を実行するときに環境変数の中身に置き換えられることを理解してください。
例)
set mae=abc
set ato=xyz

echo %mae% %ato% ←※

※の行が実行されるとき、実際は
echo abc xyz
と置き換えられてecho文が実行されます。

また、バッチ内では %% と%が2つ並んだ記述は1つ...続きを読む

Qバッチ処理でファイルの中身を変数に入れるやり方

あるファイルの中には1行の文字列があります。
このファイルをバッチで読み取り、変数に設定したいです。

例:
test.txt
abcacbacbacbacbacbacbacbacb

test,bat
set DATA=[test.txtを読み込んだ値]

よろしくお願い致します。

Aベストアンサー

これですね。

参考URL:http://www.upken.jp/kb/dqvgHNRUxwFDkmtoqEwfXHUjDrevNv.html

Qファイルの文字コードをUTF-8に変換

日次バッチで出力後のCSVファイルについて、文字コードをUTF-8(BOMなし)に変換したいのですが、
出力内容に日本語が含まれない場合、以下のコマンドだけでは変換できないようです。

<現状使用しているコマンド>
start /min /wait cmd /c chcp 65001 ^& cmd /c type c:\hoge\hoge_uni.csv > c:\hoge\hoge.csv
del /Q c:\hoge\hoge_uni.csv

お客様に相談したところ、ファイル出力の際に日本語を追加して
文字コード変換後に日本語を削除できないか、とのことでしたが
当方がコマンドに詳しくなく、解決策がありましたらご教授頂けないでしょうか?

Aベストアンサー

Unicode のコードポイント 0~127 は ASCII と全く同じ文字をコードし, かつ UTF-8 はその範囲のコードポイントをその値そのものの 1バイトで表しますから, #1 でいわれているように「いわゆるASCIIのみ」であれば BOM なしの UTF-8 と全く同じになります. つまり「変換」してもなにも変化しません.

「変換後にSJISファイルになっていて」というのはどうやって確かめているんでしょうか?

QDOSコマンドで、標準出力を出力しないようにするには?

Windowsのバッチファイルでコマンドを実行する際、標準出力をディスプレイに表示したくないのですが、どのようにするのが、一般的なのでしょうか?
CDで実行するので、ファイルに出力はしたくありません。
UNIXとかだと、nullにパイプするようなのですが…。

Aベストアンサー

>UNIXとかだと、nullにパイプするようなのですが…。

リダイレクトですね。

同様です。
標準出力だけなら「c:\> command > nul」
エラー出力もなら「c:\> command > nul 2>&1」

Qコマンドプロンプトによるフォルダ内のファイル存在有無

バッチ処理で、特定のフォルダ内(配下にフォルダとファイルが混在している)でファイルだけの存在有無を調べて、ファイルが存在している場合とファイルが存在していない場合で処理を別々に行わせようとしたいのですが、ファイルの存在有無はどのようにコマンドで調べれば良いでしょうか?

DIR C:\test\*.* でファイルを調べて、ERRORLEVELでif判定させようと思っているのですが、 DIRコマンドでこれを行うと、フォルダまで表示されます。

どのようにしたら良いのでしょうか?教えてください。

Aベストアンサー

コマンドプロンプトで、「DIR /?」と入力すれば、DIRコマンドのヘルプが表示されます。

その記述によれば
「/A」属性スイッチで、必要な属性を持つファイルを指定できます。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報