読者です 読者をやめる 読者になる 読者になる

FOR SE

文系の学部から新卒でメーカー系のSIerに就職。技術・スキルがないためブログを通して勉強。その後、IT業界の業界知識が活かせる人材業界に就職

このエントリーをはてなブックマークに追加

【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
.hatena-module:nth-of-type(10) { background: transparent; } .hatena-module:nth-of-type(10) .hatena-module-title{ display: none; } .hatena-module:nth-of-type(10) .hatena-module-body { padding: 0; }