[PR]
2025年04月26日
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
フォルダがなければ作るスクリプト
2022年03月29日
xcopyコマンドを使ったログ回収について書いたけど、
xcopyってコピー先のフォルダがないとエラーを吐くのがいまいち。
そういえば、前にフォルダがなければ作るマクロを作ったよな。。。
てなわけで、VBAのソースをVBScriptに移植することにした。
元ソースは、マイドキュメントにフォルダがなければ作るマクロ
前に作ったときは、ユーザーフォルダを取得するのにガチャガチャやってたけど、
フォルダがなければ作る処理だけなら20行いかないのね。
VBAとの違いは、変数の型を指定できないこと。
for ~ next の後にループ変数を入力できないこと。
sub ~ end subの記載のない部分が実行されること。
思った以上に簡単に移植できた。
xcopyのコマンドを作る際に、コピー先フォルダをこれで作っておけば便利かも。
以下、ソースを「MakeDirEX.vbs」などの名前で保存。
コマンドプロンプトなら「mkdir -p 」でいいんじゃね?って話はなしで!!
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