ファイルを整理するWSH


ファイル名の先頭N文字が一緒のものをフォルダを作成し、移動するスクリプト

'--------------------------------------------------------------------------------------
'
'	ファイル整理スクリプト
'			(ファイル名の先頭N文字毎にファイルをフォルダに整理する)
'	
'
'--------------------------------------------------------------------------------------
Const CHR_LENGTH = 5 	'先頭N文字の指定指定

targetPath = InputBox("処理対象のディレクトリを入力","ディレクトリの指定","")

if targetPath = "" then
	
	msgbox "出力を中止しました。"

else

	'このディレクトリのファイル一覧を取得する
	Set fileSystem   = CreateObject("Scripting.FileSystemObject")
	Set targetFolder = fileSystem.getFolder(targetPath)
	Set fileList = targetFolder.Files

	'ファイルの終端までループ
	For Each wkFile In fileList

		Dim sentfolder
		Dim createFolder

		'作成するフォルダ名を編集
		sentfolder = targetPath & "\" & Left(wkFile.Name,CHR_LENGTH)

		'フォルダが存在しない場合、作成する
		If fileSystem.FolderExists(sentfolder) = False  Then
		    Set createFolder = fileSystem.CreateFolder(sentfolder) 
		End If

		'作成したフォルダにファイルを移動
		fileSystem.MoveFile targetPath & "\" & wkFile.Name, sentfolder & "\"

	Next

	msgbox "処理が完了しました。"

end if