55 lines
2.1 KiB
Plaintext
55 lines
2.1 KiB
Plaintext
#MakeGitkeep.vbs
|
||
' 作業ディレクトリはドラッグ・アンド・ドロップ
|
||
Dim dir
|
||
If WScript.Arguments.Count > 0 Then
|
||
dir = WScript.Arguments.Item(0)
|
||
End If
|
||
If dir = "" Then
|
||
msg = "パスがないです。ドラッグ・アンド・ドロップしてください"
|
||
Else
|
||
' 一時バッファ用辞書
|
||
Dim fs,tempDic
|
||
Set tempDic = CreateObject("Scripting.Dictionary")
|
||
Set fs = CreateObject("scripting.Filesystemobject")
|
||
Call ChildPathget(dir)
|
||
For Each key In tempDic
|
||
Call Makegitkeep(tempDic.Item(key))
|
||
Next
|
||
Set fs = Nothing
|
||
Set tempDic = Nothing
|
||
msg = "完了"
|
||
End If
|
||
|
||
msgbox msg
|
||
|
||
'//==================================================================================
|
||
'// 関数 :空フォルダのパスを辞書にいれる
|
||
'//==================================================================================
|
||
Private Sub ChildPathget(pdir)
|
||
Dim subF,SubFolder
|
||
Set SubFolder = fs.GetFolder(pdir).SubFolders
|
||
Set wFiles = fs.GetFolder(pdir).Files
|
||
If SubFolder.Count > 0 Then
|
||
For Each subF In SubFolder
|
||
' 子供がいる時は再帰
|
||
Call ChildPathget(subF.Path)
|
||
Next
|
||
Else
|
||
' 子供が居なくてファイルもない時は自分
|
||
If wFiles.Count = 0 Then
|
||
Call tempDic.Add(tempDic.Count,pdir)
|
||
End If
|
||
End If
|
||
Set SubFolder = Nothing
|
||
Set wFiles =Nothing
|
||
End Sub
|
||
|
||
'//==================================================================================
|
||
'// 関数 :gitkeep作成
|
||
'//==================================================================================
|
||
Private Sub Makegitkeep(wdir)
|
||
Set obj = CreateObject("Scripting.FileSystemObject")
|
||
Set mgit = obj.openTextFile(wdir &"/.gitkeep",8,True)
|
||
Set obj = Nothing
|
||
Set mgit = Nothing
|
||
End Sub |