Перемещение файлов в односимвольные каталоги
Q: Помогите, пожалуйста, выделенные файлы раскидать по папкам с именем первого символа каждого файла.
Например: Имяфайла -> в папку И, другойфайл -> в папку Д (можно без учёта регистра). Если папки с именем какого-либо символа нет - создать её.
Например: Имяфайла -> в папку И, другойфайл -> в папку Д (можно без учёта регистра). Если папки с именем какого-либо символа нет - создать её.
A: vbs-скрипт:
'=============================================================
' Переместить выделенные файлы в создаваемые при необходимости
' папки с именами первых символов имён файлов
' ! Если выбран один файл, то участвуют все файлы источника
' Параметры: %WL "<путь источника>" "<путь получателя>"
' Пример: %WL "%P" "%T"
'=============================================================
Set FSO = CreateObject("Scripting.FilesystemObject")
With WScript.Arguments
If .Count = 0 Then WScript.Quit
L = .Item(0)
P = FSO.BuildPath(.Item(1), "\") : T = FSO.BuildPath(.Item(2), "\")
End With
TF = Split(FSO.GetFile(L).OpenAsTextStream(1, -1).ReadAll, vbNewLine)
If Ubound(TF) = 1 Then
For Each F in FSO.GetFolder(P).Files : Move F : Next
Else
For Each F in TF
If F <> "" Then : If FSO.FileExists(F) Then Move F : End If
Next
End If
Set FSO = Nothing : WScript.Quit
Sub Move(Fl)
Trg = T & Left(FSO.GetBaseName(Fl), 1)
If Not FSO.FolderExists(Trg) Then FSO.CreateFolder Trg
FSO.MoveFile Fl, Trg & "\"
End Sub
Flasher
15.11.2014