View previous topic :: View next topic |
Author |
Message |
cojoc
Joined: 04 Sep 2009 Posts: 144
|
(Separately) Posted: Mon Nov 28, 2011 15:44 Post subject: Переместить файлы в папки с именем 1го символа |
|
|
Помогите, пожалуйста, разгрести тучу файлов.
Выделенные файлы раскидать по папкам с именем первого символа каждого файла.
Например:
Имяфайла -> в папку И
другойфайл -> в папку Д (можно без учёта регистра)
Если папки с именем какого-либо символа нет - создать её. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Nov 28, 2011 16:39 Post subject: |
|
|
Code: | '=============================================================
' Переместить выделенные файлы в создаваемые при необходимости
' папки с именами первых символов имён файлов
' ! Если выбран один файл, то участвуют все файлы источника
' Параметры: %WL "<путь источника>" "<путь получателя>"
' Пример: %WL "%P" "%T"
'=============================================================
With WScript.Arguments
If .Count = 0 Then WScript.Quit
L = .Item(0) : P = .Item(1) : T = .Item(2)
End With
If Right(P, 1) <> "\" Then P = P & "\"
If Right(T, 1) <> "\" Then T = T & "\"
Set FSO = CreateObject("Scripting.FilesystemObject")
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 |
Last edited by Flasher on Thu Dec 01, 2011 11:20; edited 3 times in total |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
|
Back to top |
|
|
cojoc
Joined: 04 Sep 2009 Posts: 144
|
(Separately) Posted: Mon Nov 28, 2011 16:59 Post subject: |
|
|
Привет Flasher!
Спасибо, сейчас проведу испытания |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Nov 28, 2011 17:06 Post subject: |
|
|
Tol!k wrote: | похожая тема | ... Что-то я искать разучился...
cojoc, привет.
Одно условие дописал. |
|
Back to top |
|
|
cojoc
Joined: 04 Sep 2009 Posts: 144
|
(Separately) Posted: Mon Nov 28, 2011 17:21 Post subject: |
|
|
Flasher
У меня выскакивает ошибка в строке 18
invalid procedure call or argument |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Nov 28, 2011 17:32 Post subject: |
|
|
Переменную не поправил. Сделано. |
|
Back to top |
|
|
cojoc
Joined: 04 Sep 2009 Posts: 144
|
(Separately) Posted: Mon Nov 28, 2011 17:35 Post subject: |
|
|
Tol!k
Спасибо за наводку, посмотрел - там вроде бы нет решения для файлов и папок с первым символом.
Добавлено спустя 6 минут:
Flasher
Сработал быстро и без ошибок! Спасибо Flasher! |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Nov 28, 2011 17:48 Post subject: |
|
|
MVV
Получатель может быть разным. И тут в один клик, да и без выделения можно. |
|
Back to top |
|
|
cojoc
Joined: 04 Sep 2009 Posts: 144
|
(Separately) Posted: Mon Nov 28, 2011 17:50 Post subject: |
|
|
Flasher
Есть один нюанс срипт не обрабатывает нужным образом файлы с символами:
ßéêŽÀ и так далее... |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Nov 28, 2011 17:53 Post subject: |
|
|
cojoc
Вместо %L укажи %UL. |
|
Back to top |
|
|
cojoc
Joined: 04 Sep 2009 Posts: 144
|
(Separately) Posted: Mon Nov 28, 2011 17:57 Post subject: |
|
|
Flasher, MVV ОК
Добавлено спустя 7 минут:
Flasher
что-то не подействовало %UL
MVV
через мультипереименователь получилось |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Dec 01, 2011 11:21 Post subject: |
|
|
cojoc
Пофиксил скрипт.
Хотя не представляю, зачем держать файлы с диакритическими знаками в их именах (за исключением кириллицы (й, ё), конечно). Это фактически всех скриптов по работе со списками касается... |
|
Back to top |
|
|
|