View previous topic :: View next topic |
Author |
Message |
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sat Jan 14, 2012 17:40 Post subject: |
|
|
А что "интересно" ? Вывести на панель?
Чтобы доверять автоматике перемещение, нужно быть уверенным на 120% |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Jan 14, 2012 17:44 Post subject: |
|
|
Вообще-то я варианты выше написал. Список - это слишком просто.. |
|
Back to top |
|
|
Darkenlightener
Joined: 14 Jan 2012 Posts: 19
|
(Separately) Posted: Sat Jan 14, 2012 18:26 Post subject: |
|
|
Flasher wrote: | А это ни о чём не говорит?: Flasher wrote: | проще один из имеющихся скриптов перемещения на уровень вверх подлатать |
|
Это меня навело на мысль, но, как я уже сказал, в скриптах не силен
Flasher wrote: | Я вижу пока следующие пути решения вопроса:
1) Поскольку при распаковке имя директории соответвует базовому имени архива, можно сравнивать её имя с именем находящейся внутри неё директории, допустим, по каким-то первым символам, и если они совпадают, то содержимое должно перемещаться наверх. Тут же можно проверять наличии файлов с определённым расширением.
2) Распаковать все архивы заново с присвоением одинакового комментария папкам. По тому комментарию отслеживать папки с вышеописанными условиями и перемещать. |
Не годятся, т.к. все архивы уже распакованы, а называются папки непредсказуемо, названия вложенных вообще могут не совпадать с названием корневой.
Flasher wrote: | 3) Организовать поиск через Script Content Plugin, самостоятельно проверить найденные по заданному изначально критерию папки, потом воспользоваться скриптом автоперемещения.
4) Воспользоваться обычным поиском папок с заданной глубиной расположения этих распакованных директорий. Задача скрипта будет выделить нужные папки для самостоятельной проверки на пригодность для последующего перемещения наверх. |
Наверное, один из этих способов, но я не совсем понимаю, в чем разница. Точно могу сказать, что автоперемещение можно применять только после ручной проверки найденных папок. Иначе может получиться, например, что файлы из папки "Иванов, А.\Вечный зов" переместятся в папку "Иванов, А.", а этого мне не надо.
Tol!k
Наверное, этот скрипт подойдет, но как его можно доработать, чтобы я мог вручную изменять уровень вложенности, на котором надо искать?
Идеальное решение, наверное, поиск всех таких папок, проверка, отбор нужных и автоперемещение, т.е. способ 3 или 4, но я не могу выбрать нужный по причине ламерства |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Jan 14, 2012 18:44 Post subject: |
|
|
Darkenlightener wrote: | а называются папки непредсказуемо | Это плохо.
Darkenlightener wrote: | но я не совсем понимаю, в чем разница | В способе поиска, и, соответсвенно, в получении результатов. Для 3-го варианта нужно писать контент-скрипт для указанного плагина с последующим подставлением данных на вкладке "Плагины", а для 4-го - скрипт выделения нужных папок в выделенном списке режима "Файлы на панель" после обычного поиска. |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sat Jan 14, 2012 19:00 Post subject: |
|
|
Darkenlightener wrote: | как его можно доработать, чтобы я мог вручную изменять уровень вложенности, на котором надо искать?( | ищется от текущей и глубже |
|
Back to top |
|
|
Darkenlightener
Joined: 14 Jan 2012 Posts: 19
|
(Separately) Posted: Sat Jan 14, 2012 19:12 Post subject: |
|
|
Tol!k
Скрипт я скопировал, запустил, TC сообщает:
"Cцeнapий: e:\Пecoчницa\backup\Toлькo 1 пaпкa и 0 фaйлoв нa пepвoм ypoвнe влoжeннocти.vbs
Cтpoкa: 1
Cимвoл: 1
Oшибкa: Heдoпycтимый знaк
Кoд: 800A0408
Иcтoчник: Oшибкa кoмпиляции Microsoft VBScript"
Что делать? |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sat Jan 14, 2012 19:17 Post subject: |
|
|
сохранить с расш. .cmd |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Jan 14, 2012 20:16 Post subject: |
|
|
Darkenlightener
1. Установить SCP.
2. В директорию плагина положить Script.vbs с содержимым:
Code: | With CreateObject("Scripting.FileSystemObject")
If .GetFolder(FileName).Files.Count = 0 And .GetFolder(FileName).Subfolders.Count = 1 Then
For Each F in .GetFolder(FileName).Subfolders
If F.Size > 0 Then Content = 1
Next
End If
End With |
3. В script.ini прописать:
Code: | [Script]
Section=Dir
[Dir]
Script=Script.vbs
LongName=1
ParseDirs=1 |
4. В диалоге поиска на вкладке "Плагины" ввести последовательно:
script | Result | = | 1
Запустить поиск.
5. После вывода результатов на панель и выделения нужных папок воспользоваться этим скриптом.
Хотя нет, скрипт по ссылке рекомендуется использовать, если нужно оставлять текущее имя папки, а не имя родительской. А как лучше? |
|
Back to top |
|
|
Darkenlightener
Joined: 14 Jan 2012 Posts: 19
|
(Separately) Posted: Sat Jan 14, 2012 20:51 Post subject: |
|
|
Tol!k
Спасибо, получилось, но выведение на панель удобнее ,
Flasher
Спасибо, поиск работает. Скрипт по ссылке никаких результатов не дал мне, я попробовал. Имя должно остаться родительской папки. Наверное, поиском папок и выведением их на панель пока стоит ограничиться, потому что их все равно приходится просматривать и проверять во второй панели, и автоматическое перемещение не имеет смысла делать. Находятся ведь и такие папки E:\Боевые искусства\Аудио\Шлахтер\Путь Воина. Практики (Шлахтер)\ т.е. обоснованно находящиеся в таком виде (например, к ним потом могут быть добавлены другие папки), а их трогать вообще не нужно. Так что я пока потестирую, может быть, этого и хватит |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Jan 14, 2012 20:58 Post subject: |
|
|
Darkenlightener wrote: | Скрипт по ссылке никаких результатов не дал мне, я попробовал. Имя должно остаться родительской папки. | Я для того вопрос и задал. Сейчас посмотрю, что там надо поправить.
Darkenlightener wrote: | потому что их все равно приходится просматривать и проверять во второй панели, и автоматическое перемещение не имеет смысла делать | Ещё раз:
Flasher wrote: | самостоятельно проверить найденные по заданному изначально критерию папки, потом воспользоваться скриптом автоперемещения | Ctrl+Влево/Вправо в зависимости от местоположения результатов, проверил - выделил, проверил - выделил, закончил выделять - воспользовался скриптом. |
|
Back to top |
|
|
Darkenlightener
Joined: 14 Jan 2012 Posts: 19
|
(Separately) Posted: Sat Jan 14, 2012 21:16 Post subject: |
|
|
Flasher
Снимаю шляпу)) Чувствую себя как курсант из анекдота "Говорили дураку — учи, учи!!!"
Я столько лет мечтал о такой функции как Ctrl+Влево/Вправо, а в справке посмотреть не догадался((
Тогда конечно, все меняется и можно применять автоматическое перемещение. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Jan 14, 2012 21:50 Post subject: |
|
|
Darkenlightener
Code: | '====================================================
' Перемещение содержимого подкаталогов
' внутри выделенных папок на уровень вверх
' Параметры: %L
'====================================================
With CreateObject("Scripting.FileSystemObject")
Set TempFile = .OpenTextFile(WScript.Arguments(0), 1)
Do While Not TempFile.AtEndOfStream
N = TempFile.ReadLine
If .FolderExists(N) Then
Set FF = .GetFolder(N)
For Each Fd In FF.SubFolders
For Each F In Fd.SubFolders
If Not .FolderExists(N & .GetFileName(F)) Then F.Move N
Next
For Each F In Fd.Files
If Not .FileExists(N & .GetFileName(F)) Then F.Move N
Next
If Fd.Size = 0 Then Fd.Delete
Next
End If
Loop
End With
TempFile.Close
Wscript.Quit |
Last edited by Flasher on Mon Jan 16, 2012 14:37; edited 4 times in total |
|
Back to top |
|
|
Darkenlightener
Joined: 14 Jan 2012 Posts: 19
|
(Separately) Posted: Sat Jan 14, 2012 22:04 Post subject: |
|
|
Flasher
Не срабатывает. Нахожу папки, выделяю, запускаю скрипт, никаких результатов((( |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Jan 14, 2012 22:08 Post subject: |
|
|
Darkenlightener
Нужно после выполнения посмотреть содержимое выделенных папок, можно по всё тому же "новоиспечённому" методу.
Кстати, забыл убрать из скрипта вывод окна, сделано. |
|
Back to top |
|
|
Darkenlightener
Joined: 14 Jan 2012 Posts: 19
|
(Separately) Posted: Sat Jan 14, 2012 22:19 Post subject: |
|
|
Flasher
Я просто в них захожу после выполнения скрипта, никаких изменений.
Скрипт скопировал заново, окно командной строки все равно выскакивает, если вы про него. |
|
Back to top |
|
|
|
|
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
|