【vbs・vbscript】指定したパスに指定したフォルダ数を作成する
【今回の内容】
テスト工程などでエビデンスごとにフォルダを分けたりということがよくある。
いちいち新規フォルダを作成するの面倒だなと思い、自動でフォルダを作れるPGを
組もうと思いました。
以下の点で使いずらさがありますが、まーいったん形になったのでメモしときます。
・入力項目を一度に入力できないこと(VBSの既存関数では難しい)
・枝番をふれないこと(もう少し作り込めばできる)
【内容】
■WSHについて
WSHとはテキストファイルなどで作成されたスクリプトを実行できる実行環境のこと。
windowsのOSであれば、基本的には標準でインストールされている。
標準で以下を実行できる。
・VBScript
・JScript
■VBSについて
基本的にはWebサーバ上で動的なページを実現するために使われることが多い。
ローカルでもWBSを使用することによって、作業の自動化にも役立つvbsを組むことが可能
参考:vbscriptについて
具体的には、以下のようなことができるため、作業系のタスクに関して自動化していくことに役立ちそう
・パス配下にあるフォルダやファイルの作成・検索・名称の変更
※他にも多くのことが実現可能なため、参考サイトをみたりや調べてみると面白いと思う
■処理の流れ
①パスの入力
②作成するファイル数の入力
③パスとフォルダ数の確認
④作成するファイル数までのループを回す
④-①同じファイル名がなければ作成する
【参考】
dim InputNum,InputPath,Message,Titel,Def
'①パスの入力
Message="フォルダを作成するパスを入力してください"
Def=""
InputPath= inputbox(Message,Def)
'②作成するファイル数の入力
Message="入力した数のフォルダをを作成します"
Def=""
InputNum= inputbox(Message,Def)
'③パスとフォルダ数の確認
if InputNum <>"" then
msgbox "パス:" & InputPath & "にフォルダを" & InputNum & "つ作成します"
end if
'④作成するファイル数までのループを回す
dim fso,fname,i
for i=1 to InputNum
set fso=createobject("scripting.filesystemobject")
'④-①同じファイル名がなければ作成する
if fso.folderexists(InputPath & i) = false then
set fname=fso.createfolder(InputPath & "\" & i)
end if
set fname =nothing
set fso= nothing
next