Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Автоматическое создание папок
Goto page Previous  1, 2, 3 ... 12, 13, 14
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Flasher



Joined: 06 Nov 2009
Posts: 11422
Location: Москва

Post (Separately) Posted: Sat Aug 09, 2014 13:25    Post subject: Reply with quote

job.forme wrote:
а вот такой вариант
уже есть. Поиском пользоваться умеем?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
job.forme



Joined: 08 Aug 2014
Posts: 11

Post (Separately) Posted: Sat Aug 09, 2014 14:47    Post subject: Reply with quote

Flasher, ага спасибо, я первый день на форуме, ооооочень большой)) сегодня утром нашел указанную Вами тему. Попробовал - и вот вопрос - как сделать, что бы создавалось в ТЕКУЩЕЙ (активной) панели? И вариант с последующим открытием тоже интересен, как я понял остался недосказанным...
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 11422
Location: Москва

Post (Separately) Posted: Sat Aug 09, 2014 15:49    Post subject: Reply with quote

job.forme
Всё там досказано. Параметры все указаны. Если есть по ним вопросы, то в указанной теме и надо спрашивать.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
UFO_hA



Joined: 28 Feb 2015
Posts: 2

Post (Separately) Posted: Sat Feb 28, 2015 21:14    Post subject: Доброе время суток. Reply with quote

Очень нуждаюсь в помощи. Срочно нужен скрипт. Задача: Есть папка с большим количеством фото. Необходимо их отсортировать следующим способом. Выделяются нужные картинки, и при нажатии на кнопку создаётся новая папка(в той же папке где лежат фото) и в эту папку перемещаются выделенные ранее фото. Требований к названием папок нет(ну разве только что бы названия не повторялись.).
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 8444
Location: Россия, Саратов

Post (Separately) Posted: Sat Feb 28, 2015 21:38    Post subject: Reply with quote

UFO_hA
Не говоря уже про поиск по форуму, хотя бы текущую тему от конца предыдущей страницы и дальше (то есть последний запрос и его обсуждение) прочитать можно было?
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
UFO_hA



Joined: 28 Feb 2015
Posts: 2

Post (Separately) Posted: Sat Feb 28, 2015 22:04    Post subject: Reply with quote

Уважаемый Avada. Я вас очень прошу, ткните пальцем. Всё что я здесь пока прочитал не подходит. А времени свободного просто нет. Буду очень благодарен.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 11422
Location: Москва

Post (Separately) Posted: Sat Feb 28, 2015 22:20    Post subject: Reply with quote

UFO_hA wrote:
Всё что я здесь пока прочитал не подходит. А времени свободного просто нет.
Прочесть последний пост на предыщущей странице, а потом последующие уже на этой - это проблема, на это нужно много времени?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Badboy



Joined: 20 Mar 2017
Posts: 2

Post (Separately) Posted: Mon Mar 20, 2017 03:15    Post subject: По части имени файла Reply with quote

Подскажите пожалуйста, как изменить этот скрипт, чтобы он создавал папки по ЧАСТИ имени файла, а не по всему имени файла.
Пример:
Есть файл: 2016.01.01.(14-01-16).jpg
Нужно создать папку (2016.01.01) по первым 10 символам, и поместить туда все файлы, начинающиеся на эти 10 символов
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2083

Post (Separately) Posted: Mon Mar 20, 2017 10:44    Post subject: Reply with quote

Badboy
Можно обойтись без скрипта, с помощью группового переименования.
Выделить файлы -> (Ctrl+M) -> Маска для: имени файла [N1-10]\[N] -> Выполнить.
Back to top
View user's profile Send private message
Zmy



Joined: 06 Apr 2015
Posts: 12

Post (Separately) Posted: Mon Mar 20, 2017 10:54    Post subject: Reply with quote

Попробуйте так.
Code:
' Создание папки по имени файла и перемещение в нее файла
' Может быть выделено несколько файлов
' Для создания папок в текущей панели
'   в параметрах вызова из TC должно быть прописано:
' %L
' Для создания папок в противоположной панели
'   в параметрах вызова из TC должно быть прописано:
' %L "%T"
' основан на коде Batya
'=====================================================================
If WScript.Arguments.Count = 0 Then
MsgBox "Нужны такие параметры:" + vbNewLine + vbNewLine + "%L" + vbNewLine + vbNewLine + "Или такие параметры:" + vbNewLine + vbNewLine + "%L ""%T""", vbOKOnly + vbError, "No Parameteres"
Wscript.Quit
End If
Dim TempFile, FSO, SelFile
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TempFile = FSO.OpenTextFile(WScript.Arguments(0), 1)
Name = InputBox("Введите количество символов", "Input", 10)
If Name = "" Then
Wscript.Quit
End If
Dim FileName, FilePath, DashInName, NewFilePath
Do While Not TempFile.AtEndOfStream
Set SelFile = FSO.GetFile(TempFile.ReadLine)
FileName = FSO.GetBaseName(SelFile)
FilePath = SelFile.ParentFolder
LName = (Left(FileName, Name))
If WScript.Arguments.Count > 1 Then
NewFilePath = WScript.Arguments(1) & LName
Else
NewFilePath = FilePath & "\" & LName
End If
If Not FSO.FolderExists(NewFilePath) Then
FSO.CreateFolder(NewFilePath)
End If
If Not FSO.FileExists(NewFilePath & "\" & FileName & "." & FSO.GetExtensionName(SelFile)) Then
FSO.MoveFile SelFile, NewFilePath & "\"
Else
MsgBox "Files Already Exist", vbOKOnly + vbError, "Error"
End If
Loop
Set TempFile = Nothing : Set FSO = Nothing : Set SelFile = Nothing : Wscript.Quit


Last edited by Zmy on Sun Mar 26, 2017 08:15; edited 2 times in total
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 11422
Location: Москва

Post (Separately) Posted: Mon Mar 20, 2017 15:16    Post subject: Reply with quote

Badboy
Без оверквотинга никак? Снизу памятки в первом пункте что написано?

Сам могу такую вещь предложить (в примерах 2 варианта решения):
Code:
'================================== VBS ================================
' Перемещение выбранных файлов в создаваемые при необходимости каталоги
' с тем же базовым именем или его частью, заданной регулярным выражением

' Параметры: %WL "<путь получателя>" <регулярное выражение>

' Условие: искомая часть в регулярном выражении записывается в скобках.
' Если второй параметр не задан или пуст, то
' получателем будет родительский каталог файла.

' Примеры:   %WL "%T"  |  %WL "" ^(\d+\.\d+\.\d+)  |  %WL "%T" (.{10})
'=======================================================================

Set A = WSH.Arguments : C = A.Count : If C = 0 Then WSH.Quit
Set FSO  = CreateObject("Scripting.FileSystemObject")
Set ShAp = CreateObject("Shell.Application")
Set List = FSO.OpenTextFile(A(0),,,-1)
If C = 3 Then _
Set Reg  = New RegExp : Reg.Global = True:_
Reg.IgnoreCase = True : Reg.Pattern = A(2)
Do : F = Trim(List.ReadLine)
  If FSO.FileExists(F) Then
    BN = FSO.GetBaseName(F)
    If IsObject(Reg) Then If Reg.Test(BN) Then _
    BN = Reg.Execute(BN)(0).Submatches(0) Else BN = ""
    If Len(BN) Then
      NF = "" : If C > 1 Then If A(1) <> "" Then NF = FSO.BuildPath(A(1),BN)
      If NF = "" Then NF = FSO.BuildPath(FSO.GetParentFolderName(F), BN)
      If Not FSO.FolderExists(NF) Then FSO.CreateFolder(NF)
      ShAp.NameSpace(NF).MoveHere F
    End If
  End If
Loop Until List.AtEndOfStream : List.Close
Если имя файла не соответствует искомой в выражении части, то он остаётся на месте.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.


Last edited by Flasher on Mon Mar 20, 2017 16:39; edited 1 time in total
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2183
Location: Москва, Россия

Post (Separately) Posted: Mon Mar 20, 2017 16:30    Post subject: Reply with quote

Badboy wrote:
Подскажите пожалуйста, как изменить этот скрипт, чтобы он создавал папки по ЧАСТИ имени файла, а не по всему имени файла.
Пример:
Есть файл: 2016.01.01.(14-01-16).jpg
Нужно создать папку (2016.01.01) по первым 10 символам, и поместить туда все файлы, начинающиеся на эти 10 символов

Изменить
Code:
  If WScript.Arguments.Count > 1 Then
    NewFilePath = WScript.Arguments(1) & FileName
  Else
    NewFilePath = FilePath & "\" & FileName
  End If
на
Code:
  If WScript.Arguments.Count > 1 Then
    NewFilePath = WScript.Arguments(1) & Left(FileName, 10)
  Else
    NewFilePath = FilePath & "\" & Left(FileName, 10)
  End If

_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 8444
Location: Россия, Саратов

Post (Separately) Posted: Mon Mar 20, 2017 18:15    Post subject: Reply with quote

Badboy
Замечание за оверквотинг. Код исходного скрипта заменён ссылкой.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Badboy



Joined: 20 Mar 2017
Posts: 2

Post (Separately) Posted: Mon Mar 20, 2017 22:18    Post subject: Reply with quote

Avada
Прошу прощения, больше не буду

Batya
Огромное спасибо!
То что надо!

Flasher
Спасибо!
Попробую
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 8444
Location: Россия, Саратов

Post (Separately) Posted: Tue Mar 21, 2017 00:44    Post subject: Reply with quote

Badboy
Вы и сейчас продолжаете те же нарушения. Например, полное цитирование сообщения модератора из предыдущего поста — точно такой же оверквотинг. А в ответах на предложения по кодам надо, во-первых, указывать ники людей, которым вы отвечаете (они вставляются в текст элементарно —кликом по нику в нужном сообщении), а во-вторых, не цитировать кусок кода (и, напротив, нормально обозначать чужую фразу, если она действительно нужна). А ещё при подготовке сообщения рекомендуется пользоватьяс режимом предварительного просмотра. Всё это приведено в норму, отвечать не надо.
Кроме того, будьте любезны ставить в конце фраз точки, чтобы люди не гадали, закончили вы мысль или отправили черновик сообщения случайно.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 12, 13, 14
Page 14 of 14

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group