アットウィキロゴ

WSH

imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
Option Explicit
'-- main --
' グローバル変数
Dim objShell, objShellApp, objFileSys, objFo
Dim objRegEx
Dim strDstFolder, strSrcFolder
Dim intCount, intRet
Dim strExtensionPattern '-- ショートカットを作る拡張子
strExtensionPattern = ".mpg$|.avi$"

Set objRegEx = New RegExp
objRegEx.Global = True  ' 全て検索
objRegEx.IgnoreCase = True  ' 大文字と小文字を区別しない
Set objShell = WScript.CreateObject("WScript.Shell")
Set objShellApp = WScript.CreateObject("Shell.Application")
Set objFileSys = CreateObject("Scripting.FileSystemObject") 

Set objFo = objShellApp.BrowseForFolder(0,"ファイルのあるフォルダを選択して下さい", &h11)
If (objFo Is Nothing) Then
    WScript.Quit
End If
strSrcFolder = objFo.Items.Item.Path

Set objFo = objShellApp.BrowseForFolder(0,"ショートカットを作るフォルダを選択して下さい", &h11)
If (objFo Is Nothing) Then
    WScript.Quit
End If
strDstFolder = objFo.Items.Item.Path

strExtensionPattern = InputBox("以下の正規表現にマッチするファイルのショートカットを作ります.",,strExtensionPattern )
objRegEx.Pattern = strExtensionPattern

intCount = 0
intRet = MsgBox("はじめますか?", 1,"OK?")
If intRet = 1 Then
  createShortCuts strSrcFolder
End If

MsgBox "" & intCount & "個のショートカットを作成しました.",,"Done!"

'-- createShortCuts
Sub createShortCuts(strFolderName)
  Dim objSubFo
  Set objSubFo = objFileSys.GetFolder(strFolderName)    ' 引数に指定されたフォルダの情報を取得
  Dim strFileName
  For Each strFileName In objSubFo.Files
    ' ファイル名チェック
    If objRegEx.Test(strFileName) Then
      Dim objFile, objDate, objShortCut
      Dim strShortCutName
      Set objFile = objFileSys.GetFile(strFileName)
      objDate = DateValue(objFile.DateLastModified)
      strShortCutName = strDstFolder & "\" & _
                      Year(objDate) & "_"  & _
                      Right(00 & Month(objDate), 2) & "_" & _
                      Right(00 & Day(objDate), 2) & _
                      "_(" & objFileSys.GetFileName(strFileName) & ").lnk"
      Set objShortCut = objShell.CreateShortcut(strShortCutName)
      objShortCut.TargetPath = strFileName
      objShortCut.Save
      intCount = intCount + 1
    End If 
  Next
  ' 指定のフォルダに格納された各サブフォルダを処理する
  For Each strFolderName In objSubFo.Subfolders
    createShortCuts(strFolderName)
  Next
End Sub
最終更新:2008年09月20日 22:38