• ベストアンサー

フォルダ、ファイルを自動的に且つ大量に作成したい。

以下の様なファイルを含むフォルダを1000個ほど作成しなければならないのですが自動的に作成するにはどうしたらよいでしょうか?度々こういった作業が発生するのですが、自分の力で自動化することができなくて困っています。参考になるURLやサンプルプログラムがありましたら教えて下さい。よろしくお願い致します。 例)DDPC001フォルダに192.168.0.1と書いたaddress.txt、255.255.255.0と書いたsubnet.txt、192.168.0.254と書いたgatway.txt、enableと書いた001.txtを作成する。 これをDDPC002、DDPC003・・・と同じ作業を約1000個分繰り返し処理を行いたい。 ▼資料1 EXCEL若しくはCSVで作成したデータ。 DDPC001 192.168.0.1 255.255.255.0 192.168.0.254 enable DDPC002 192.168.0.2 255.255.255.0 192.168.0.254 disable DDPC003 192.168.0.3 255.255.255.0 192.168.0.254 enable <以下省略> ▼資料2(表現上フォルダ名は大文字にしてあります。) DDPC001┬address.txt .......├subnet.txt .......├gatway.txt .......└001.txt DDPC002┬address.txt .......├subnet.txt .......├gatway.txt .......└001.txt DDPC003┬address.txt .......├subnet.txt .......├gatway.txt .......└001.txt <以下略>

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

VBScriptでサンプルを作ってみました。 資料1はdata.csvで、スペース区切りであるとしています フォルダを作成する場合に既にあるかどうかのチェックはしていませんので、作業前に、同様のフォルダを削除しておく必要があります。 data.csvと同じフォルダに、適当な名前(例えば、folerMake.vbs)で保存し、ダブルクリックで起動します。実行したフォルダ以下にフォルダ及びファイルを作成します -------------------------------------------------------------------- '読み込んだスペース区切りのファイルの 'フィールドの1番目をフォルダ、以降をそのフォルダのファイルの中身として作成する。 '作成しようとするフォルダが既に有る時エラーになる、作業の初めに全て消すコト Dim fso Dim dataFile, outFile Dim field Dim i dim dataFileName dim outFileNames outFileNames=Array("address.txt","subnet.txt","gatway.txt","001.txt") dataFileName="data.csv" '読み込みファイル名の設定 Set fso = WScript.CreateObject("Scripting.FileSystemObject") Set dataFile = fso.OpenTextFile(dataFileName,1) Do until dataFile.AtEndOfStream field=split(dataFile.ReadLine) fso.CreateFolder field(0) for i=1 to UBOUND(field) Set outFile = fso.OpenTextFile(field(0) & "\" & outFileNames(i-1),2,true) outFile.WriteLine(field(i)) outFile.Close next Loop dataFile.Close

burobo
質問者

お礼

ありがとうございます。 まさにこれ!というものが出来ました。 これでかなり時間が節約できます。 本当にありがとうございました。

その他の回答 (1)

  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.1

以下のような処理をVBで作成してください。 CSVファイルから1行読み込む。 カラム1の値でフォルダを作成。 作成したフォルダ内に address.txt ファイルを作成。中身はカラム2。 作成したフォルダ内に subnet.txt ファイルを作成。中身はカラム3。 作成したフォルダ内に gateway.txt ファイルを作成。中身はカラム4。 作成したフォルダ内に 001.txt ファイルを作成。中身はカラム5。 これをCSVのレコード数分行う。

burobo
質問者

お礼

早急な回答ありがとうございます。 また何かありましたら是非よろしくお願いいたします。