アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

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

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

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

A 回答 (3件)

> 「現在のコード ページ: 932」と出て


ということはコマンドプロンプトの話でしょうかね。

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

ANo.1 です。

あまり詳しくないのにすみません。

Windows のDOS プロンプトは少し使ったことがありますが、
マルチタスク?故なのかBATchファイルの記述順どおりに
「起動完了を待つ」ことはしてくれない印象があります。

windows98あたりでは DOS ベースでしたので気にしてませんでしたが、
NT か W2k あたりから DOS プロンプトは「シミュレーション」に
なったとか...

つまり本件では、
JP
を完了する前に次の
rename
を実行し始めてるのだろう、と思います。
途中で時間のかかりそうな処理を入れるとか、
キー入力待ち...pause とか wait とかありませんでしたっけ...

挿入すると解決するかも。
    • good
    • 0

Windows XP Pro SP2 ですが、


質問者さんと同じバッチを作ったら、
ちゃんとリネームできましたよ。

BAT を動かすと、たしか子プロセスでcommand.com を使うので、
そっちの環境が日本語を使えるようになってないのかも知れません。
BAT ファイル中で日本語環境を生かす
JP
を入れてみたらどうでしょ?

この回答への補足

ありがとうございます。
rena.batの中身を
------------------
JP
rename "ごろ猫のサンバ.txt" "test.txt"
------------------
とすると
「現在のコード ページ: 932」と出てrenameが実行されません。

もう一度、rena.batの中身を
------------------
rename "ごろ猫のサンバ.txt" "test.txt"
------------------
だけにして実行してみると(JP実行後)、うまく動きました。

どうやらJPを動かした後に実行しなければいけないみたいですね。
ですが、JP実行後、そのまま次のコマンドを動かすにはどのようにbatファイルを書けばいいのでしょうか?一番上で記載しているbatファイルではJP実行後に終わっているようです。

ご存知であれば教えてください。よろしくお願いします。

補足日時:2007/07/26 20:20
    • good
    • 0

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