下記のようなフォルダ構成で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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- ホームページ作成・プログラミング Adobe DreamweaverでのサイトのFTP 2 2023/03/05 11:55
- Excel(エクセル) エクセルでエラーを無視して一番左側のセルの値を返したい 2 2023/07/27 13:06
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- その他(プログラミング・Web制作) python pandas 行ごとに列名(列番号)を指定して抽出したい 1 2023/05/26 13:47
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
クロムOSのLinuxベータ版へGIMP...
-
DVDStylerをつかってDVDを作っ...
-
Leawo Blu-ray Playerをダウン...
-
自分のグローバルIPを通知して...
-
編集ソフトのムービーメーカー...
-
イーファンビューでwebpファイ...
-
字幕ソフト
-
昔のCDソフトを保存したい
-
Win11で使える写真整理ソフトを...
-
Lhaplusソフトについて教えてく...
-
Miomio.guruの動画がダウンロー...
-
AIMPに代わるおすすめのプレイ...
-
倍率自動調整して全画面表示で...
-
VLCメディアプレイヤーでのコマ...
-
音声から文字起こし可能なツー...
-
tiffファイルをトリミングして...
-
文字を一括で置換するソフト・...
-
ウェッブサイトに付箋
-
garagebandのdrummerのような自...
-
aiseesoft フリー動画変換 とい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスログの「HEAD」と...
-
昔のゲーム、ブラックオニキス...
-
HPビルダーの拡張子について
-
BASIC認証を複数設定するには?
-
ドメインを入力した際に「index...
-
FFFTPで「コマンドが受け付けら...
-
ホームページビルダーのトップ...
-
FFFTPでアップロードしたとき「...
-
snes9kの音量調節について
-
緊急事態発生:NextFTPでアップ...
-
拡張子 HTML HTMの違い
-
HPビルダーで転送後にHPが見れ...
-
HP画面に反映されません
-
トップページの入れ替えを教え...
-
ビルダーでファイル名が「index...
-
FTP
-
ホームページを左右にわけるタグ
-
お勧めの画像ビューア
-
トップページをフレームから1枚...
-
Jasc Paint Shop Proの使いかた
おすすめ情報