忍者ブログ

フォルダがなければ作るスクリプト

2022年03月29日
xcopyコマンドを使ったログ回収について書いたけど、
xcopyってコピー先のフォルダがないとエラーを吐くのがいまいち。

そういえば、前にフォルダがなければ作るマクロを作ったよな。。。
てなわけで、VBAのソースをVBScriptに移植することにした。

元ソースは、マイドキュメントにフォルダがなければ作るマクロ

前に作ったときは、ユーザーフォルダを取得するのにガチャガチャやってたけど、
フォルダがなければ作る処理だけなら20行いかないのね。

VBAとの違いは、変数の型を指定できないこと。
for ~ next の後にループ変数を入力できないこと。
sub ~ end subの記載のない部分が実行されること。

思った以上に簡単に移植できた。

xcopyのコマンドを作る際に、コピー先フォルダをこれで作っておけば便利かも。

以下、ソースを「MakeDirEX.vbs」などの名前で保存。
コマンドプロンプトなら「mkdir -p 」でいいんじゃね?って話はなしで!!



const Path = "C:\del_Zip_and_Emptyfolder\NotEmpty\test\danbe-sa"  '作成するフォルダ名
call makeDirEX(Path)

Sub makeDirEX(Path)
With CreateObject("Scripting.FileSystemObject")
Dim tmp, j , strDir
tmp = Split(Path, "\")
For j = 0 To UBound(tmp)
If j = 0 Then
strDir = strDir & tmp(j) & "\"
Else
strDir = strDir & tmp(j) & "\"
If .FolderExists(strDir) Then
'あればなにもしない
Else 'なければ作る
.CreateFolder strDir
End If
End If
Next
End With
End Sub


PR
Comment
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字