前提
・ここではテキストファイル(.txt)のみを対象とする。必要に応じて修正する
・ここではcopyコマンドを実行する。必要に応じて修正する
サンプルプログラム
Option Explicit
'''''''''''''''''''''''''''''''''
'メイン処理
'''''''''''''''''''''''''''''''''
'処理対象とするファイルの拡張子を設定
Const REGEXP_PATTERN = ".txt"
'inputフォルダを設定
Dim inputFolder
inputFolder = "C:\Users\user\Desktop\old"
'outputフォルダを設定
Dim outputFolder
outputFolder = "C:\Users\user\Desktop\new"
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Dim folder
Set folder = fso.GetFolder(inputFolder)
Dim wsh
Set wsh = CreateObject("WScript.Shell")
'inputフォルダ配下の全ての対象ファイルに対し処理を実行
Dim command
Dim file
For Each file In folder.Files
If IsMatchPattern(file.Name, REGEXP_PATTERN) Then
'コマンドを設定
command = "copy /b " & folder.Name + "\" & file.Name & " " + outputFolder & "\" & file.Name
'コマンドを実行
wsh.Run "cmd /c " & command, 1, True
End if
next
'後片付け
Set fso = Nothing
Set folder = Nothing
Set file = Nothing
Set wsh = Nothing
'''''''''''''''''''''''''''''''''
'パターン解析処理
'''''''''''''''''''''''''''''''''
Function IsMatchPattern(ByVal str, pattern)
Dim regExp
Set regExp = CreateObject("VBScript.RegExp")
RegExp.Pattern = pattern
RegExp.IgnoreCase = True '大文字と小文字を区別しない
'解析を実行
If RegExp.Test(str) Then
IsMatchPattern = True
Else
IsMatchPattern = False
End if
Set RegExp = Nothing
End Function