
下記のようなフォルダ構成で1つのフォルダに1つのindex.htmlが入っています。
Aフォルダ―1フォルダ―index.html
2フォルダ―index.html
3フォルダ―index.html
4フォルダ―index.html
・
・
・
(以降、500フォルダあります)
このそれぞれのindex.htmlを、フォルダ名についている数字.htmlに変更したいと以前こちらで相談したところ、バッチ化するといいという解凍をいただいたのですが、バッチの作り方がわかりません。
自分で作ったバッチ内には
ren 00001 \index.html 00001 \1.html
ren 00002 \index.html 00002 \2.html
ren 00003 \index.html 00003 \3.html
ren 00004 \index.html 00004 \4.html
ren 00005 \index.html 00005 \5.html
ren 00006 \index.html 00006 \6.html
ren 00007 \index.html 00007 \7.html
ren 00008 \index.html 00008 \8.html
ren 00009 \index.html 00009 \9.html
ren 00010 \index.html 00010 \10.html
(以後100まで)
としたのですが、実行すると「コマンドの設定が間違っています」という文字が黒い画面の中に一瞬見えます。
何か上記の文字の前後に書かないといけない文字があるのでしょうか?
No.4ベストアンサー
- 回答日時:
#2&3です。
補足頂きありがとうございました。htmlのファイル名に0000がついてもよかったのですね。
取り敢えず安心しました。
さて追記質問の件ですが、Xフォルダから更に深い場所にあるフォルダ名を取得して処理する場合、forコマンドには基準以下の各サブディレクトリの全てに対して実行させる/rオプションがあります。
これを使って、
for /d /r %%i in (*) do ren %%i\index.html %%i.html
とすればよさそうですが、ここでちょっと問題があります。
実行させるrenコマンドは、第2引数(この場合は変換後のファイル名)にドライブ名・パス名を付加してはならないという約束があります。
/rを使うと自動的に第2引数にもパス名が付加されてしまい、狙ったパスの指定内容としては正しいのですが、構文誤りとなって処理出来ないのです。
これはrenコマンド側の仕様ですので回避出来ません。
そこで、cdコマンドで一旦階層を下げて、同時に「&」を使って先程のバッチの内容を同時実行させてしまいましょう。
Xフォルダ直下に次の一行の内容のバッチファイルを作って実行して下さい。
仮にcdrenidx.batとします。
for /d /r %%i in (*) do cd %%i & for /d %%i in (*) do ren %%i\index.html %%i.html
この内容は、前述の内容の前にforコマンドでcd(チェンジディレクトリ)
を繰り返す内容をつけただけですが、&を使ってcdと同時にrenを行います。
自分でもデイレクトリ数をかなり絞って試してみましたが、これでうまく出来ました。
長文となり見苦しい解説となってしまいすみませんでした。
上手く変換できる事を期待しております。
ご回答ありがとうございます。
いろいろ試して出来なかったのに、すんなり希望通りに出来ました。
本当に助かりました。
ありがとうございます!
No.3
- 回答日時:
#2です。
度々失礼します。#1さんの回答を見て気付きましたが、Aフォルダ下位のフォルダ名は00001~ですか?それとも、ただの1~ですか?
00001~だとすると、求めているファイル名が0000の付かないただの1.htmlにしたい場合だったら自分の方法だと駄目です。
フォルダと同期しますので、00001.htmlになってしまいます。
フォルダ名と同期しても良い場合だけお使い下さい。
大変失礼しましたm(_ _)m
この回答への補足
ご回答ありがとうございます。
Aフォルダ下位のフォルダ名は00001です。
希望通りの結果が得られました。
ありがとうございます。
こういう階層のフォルダが10個あるので一括で変換するには、1つのフォルダにまとめて一括で出来ないかなと思ったのですが、そういうことは出来ないでしょうか?
Xフォルダ―Aフォルダ―1フォルダ―index.html
2フォルダ―index.html
3フォルダ―index.html
4フォルダ―index.html
(以降、500フォルダあります)
―Bフォルダ―1フォルダ―index.html
2フォルダ―index.html
3フォルダ―index.html
4フォルダ―index.html
(以降、500フォルダあります)
―Cフォルダ―1フォルダ―index.html
2フォルダ―index.html
3フォルダ―index.html
4フォルダ―index.html
(以降、500フォルダあります)
(以降、Kフォルダまであります)
といったフォルダ構成にした場合、Xフォルダ直下に教えていただいたバッチを置いてたたけば、全部のA~Kフォルダ内が変換されるようになるには、
教えていただいた
for /d %%i in (*) do ren %%i\index.html %%i.html
ではうまくいかないのですが何か書き換えないといけないのでしょうか?
No.2
- 回答日時:
質問例の場合ですと、Aフォルダ内にメモ帳などでバッチファイルを作成して下さい。
仮にrenindex.batとします。中身は次の1行のみです。
for /d %%i in (*) do ren %%i\index.html %%i.html
これでフォルダ名を取得して、フォルダのあるだけ繰り返し処理を実行します。
もしバッチファイルでなく、コマンドラインから直接処理をしたい場合は、Aフォルダ内に移動してから、%%iでなく%iで記述して実行してください。

No.1
- 回答日時:
C:\A_Folder
|-00001
| |-index.html
|
|-00002
| |-index.html
…という状態だとして↓こうでは?
(△は半角スペース)
ren△C:\A_Folder\00001\index.html△1.html△>△C:\Result\Result.txt
ren△C:\A_Folder\00002\index.html△2.html△>>△C:\Result\Result.txt
(中略)
ren△C:\A_Folder\00500\index.html△500.html△>>△C:\Result\Result.txt
exit
> 自分で作ったバッチ内には
> ren 00001 \index.html 00001 \1.html
例えば「00001」と「\index.html」の間に半角スペースが入ってますが…
「00001」と「\1.html」の間も同様…
またコマンドプロンプトを表示すると↓こんな表示になっている恐れがあるので
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\(ユーザー名)>
「C:\A_Folder\00001\」という感じでパスも入れてます。
※ご存知だったら申し訳ありません(汗)
>△C:\Result\Result.txt
と
>>△C:\Result\Result.txt
は「C:\Result\Result.txt」に結果を出力します。
おまけだと思ってくださいませ。
勘違いとかしてたら申し訳ないですが…
ご回答ありがとうございました。
半角入っていました・・・。
Resultの方法も知らなかったので勉強になりました。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスログの「HEAD」と...
-
Apacheのhttp.confの中の設定に...
-
パソコンのメモ帳のことで質問
-
ドラッグすると見える文字
-
グラデーションの仕方
-
1つの画像の中に複数のリンク...
-
ホームページのお気に入り表示名
-
ヤフオクの出品説明文をカラー...
-
テーブルが横に長くなってしまう
-
htmlで改行タグを入れていない...
-
SEO対策 HTMLソースの簡素化の...
-
背景の繰り返しについて
-
Adobe Golive テキストの色をど...
-
macでhtmlのタグを打って、開い...
-
掲示板の変わった書き方。
-
文字に色をつける方法を教えて...
-
テーブルwidthで指定したのに幅...
-
HPのソースをそのまま貼り付け...
-
ExcelのVBAの正規表現で二重引...
-
gooなどの字が小さくなっつてし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスログの「HEAD」と...
-
SONY 区間リピートについて
-
アクセスアップ・SEOについて
-
ホームページのリニューアルに...
-
サブページに「お知らせ」コー...
-
ジオシティーズ使用中ですがメ...
-
ホームページ更新
-
FInaleに関して
-
HP更新が反映されないのですが
-
Illustratorで地図を作成したい。
-
DREAMWEAVARで更新するには?
-
BASIC認証を複数設定するには?
-
ホームページビルダーのトップ...
-
ドメインを入力した際に「index...
-
HPビルダーで転送後にHPが見れ...
-
トップページの入れ替えを教え...
-
MP3プレーヤー
-
フライングトースター
-
アパッチのエイリアス設定問題
-
このホームページのブログは何...
おすすめ情報