餃子を食べるとき、何をつけますか?

以下の様なファイルを含むフォルダを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
<以下略>

A 回答 (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
    • good
    • 0
この回答へのお礼

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

本当にありがとうございました。

お礼日時:2005/08/05 13:57

以下のような処理をVBで作成してください。



CSVファイルから1行読み込む。
カラム1の値でフォルダを作成。
作成したフォルダ内に address.txt ファイルを作成。中身はカラム2。
作成したフォルダ内に subnet.txt ファイルを作成。中身はカラム3。
作成したフォルダ内に gateway.txt ファイルを作成。中身はカラム4。
作成したフォルダ内に 001.txt ファイルを作成。中身はカラム5。

これをCSVのレコード数分行う。
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/08/05 14:02

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


おすすめ情報