dポイントプレゼントキャンペーン実施中!

1つのディレクトリ内に 100 のフォルダがあり
それぞれに index.html をコピーしようと思ってるのですが、
効率の良い方法ありますでしょうか?

category1
category2
category3
...

コマンドプロンプトで

copy index.html C:\001\category*\

としてみましたが ここでワイルドカードは使えないようです。
vbs などでも、なにか良い方法ありますでしょうか?

A 回答 (4件)

#3です。



>実際はフォルダごとに少し名前が違うので、
>ワイルドカードの代わりになるようなものは
>ありますでしょうか?
FORのヘルプを見るとわかりますが /D オプションでディレクトリ名をワイルドカードで指定出来ます。
例えばcategoryから始まる名前のディレクトリなら
FOR /D %d IN (category*) DO copy index.html %d
の様な感じになります。
    • good
    • 0
この回答へのお礼

うまくいきました! 手軽に書けて面白いですね。
もっと練習してみます!!

お礼日時:2006/10/15 13:09

DOSのFOR文を使えば簡単です。


FOR /?でヘルプを見てみましょう。

とりあえず、index.htmlをcategory1~category100までコピーする文はこうなります。
FOR /L %i IN (1,1,100) DO copy index.html category%i
※BATに書く場合は%iを%%iにする必要があります
    • good
    • 0
この回答へのお礼

DOS のループは使ったことがなかったので
もっと調べてみようと思います。
ありがとうございます!!

実際はフォルダごとに少し名前が違うので、
ワイルドカードの代わりになるようなものは
ありますでしょうか?

問題は解決したので参考までに。

お礼日時:2006/10/14 11:59

ドライブC の直下にある 001 フォルダ内の index.html を,


ドライブC の直下にある 001 フォルダ内の category1 ~ category3 フォルダにコピーする場合,

 ドライブC
    └ 001(フォルダ)
      ├ index.html - - - - - - → ↓コピー
      ├ category1(フォルダ) - <index.html>
      ├ category2(フォルダ) - <index.html>
      └ category3(フォルダ) - <index.html>

VBS は次のようになります。

--------------------------------------------
Set fso = CreateObject("Scripting.FileSystemObject")
For i=1 To 3
fso.CopyFile "C:\001\index.html", "c:\001\category" & i & "\"
Next
--------------------------------------------

category1 ~ category100 であれば,
For i=1 To 100
にすれば良いだけです。


ファイル操作編(016~027)
■ WSH.016 ファイルのコピー
http://www1.u-netsurf.ne.jp/~tomo_c/tips/WSH003. …
    • good
    • 0
この回答へのお礼

ありがとうございます!!
とても勉強になりました。
vbs はまだ経験不足なので
いろいろ調べてみようと思います。

実際はフォルダごとに少し名前が違うので
loop は使えないのですが、ディレクトリ内の
ファイルを取得することは可能でしょうか?
アルファベット数は 3 文字と決まってます。

お礼日時:2006/10/14 12:01

Excelを起動し、A1に「copy index.html 」と記入。



B1に「C:\001\category1」と記入して、A1とB1セルを選択して下にコピー。categoryの数字が自動的に増えていくので100行までコピー。
A1:B100を選択し、Ctrl+Cでクリップボードにコピー。

メモ帳を起動し、Ctrl+Vで貼り付け。バッチファイルができるので、適当な名前(copy_index.batなど)をつけてindex.htmlのあるフォルダに保存。

バッチファイルを実行。

これでいかがでしょうか。
    • good
    • 0
この回答へのお礼

Excel でバッチファイルを書くというのは
初めてだったのですがとても面白いですね。
実際はフォルダごとに少し名前が違ったので
getName.bat の中に

dir/b > list.txt

と入れて Excel にペーストでうまくいきました。
ありがとうございました!!

お礼日時:2006/10/14 12:02

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