it would be more efficient if it didnt try to make a folder each time, but the outcome is the same. good point with getbasename.
i have cleaned it up a little bit and added what you said , also filename is irrelevant now as long as it has a .vbs extension , and it will just run in the folder it is in.
___________________________________
Dim T , fs, folder, files, file ,X , objFol
Set fs = CreateObject("Scripting.FileSystemObject")
Set folder = fs.GetFolder(WScript.ScriptFullName & "\..")
Set files = folder.Files
For Each file in files
If Not file.name = Wscript.ScriptName Then
T = fs.getbasename(file.name)
Set objFol = FS.CreateFolder(T)
X = folder & "\" & T & "\"
FS.MoveFile file.name,X & file.name
End IF
Next