View previous topic :: View next topic |
Author |
Message |
sergeylost

Joined: 01 Feb 2008 Posts: 11 Location: St.Petersburg
|
(Separately) Posted: Fri Feb 01, 2008 17:22 Post subject: Как переместить файлы автоматом, каждый в свой каталог? |
|
|
Господа, помогите советом или дайте ссылку (если такая уже есть) ..
Вопрос.
Есть обычный пользователь тоталом. Без премудростей пользующийся панелями и свойствами программы. То бишь это я.
Есть много каталогов (несколько тысяч епт!!) с именами такого типа A-123-12A. (т.е. буквы-цифры) Путь до них известен. У меня на компе есть кучи файлов с СООТВЕТСТВУЮЩИМИ именами. Т.е имя директории\каталога ТАМ где то в конце пути равно имени файла у меня на компе + ****** (какое то количество символов)
Надо применить какую то фишку к этому каталогу что бы КАЖДЫЙ файлик лежащий в нем у меня на компе переместить (или скопировать) в соответствующий его имени каталог куда то ТУДА..
Пример:
Имею на компе готовые картинки с именами A-123-12A_**** и B-234-34B_**** (картинок туева хуча и еще тележка и все называются по разному)
Очень хочется - каким то образом в автомате переместить(скопировать) КАЖДЫЙ файлик в соответствующий его имени каталог, лежащий на другом компе, через локальную сеть. Доступ к той папке на другом компе есть полный.
т.е. A-123-12A_***** в каталог A-123-12A
B-234-34B_**** в каталог B-234-34B
Желательно выделить кучу файлов в левой панели что то такое запустить-кликнуть (произнести магическое заклинание или танец с бубном) и тотал-командер 6.55 (стоит на работе) слил бы все эти файлики в свои родные папочки.
Кто сможет сказать куда атаковать?! (Только мужщины, поподробнее если кто понял про что я тут толкую, я в тотале просто пользователь, не стесняйтесь подробностей) |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2226 Location: Москва, Россия
|
(Separately) Posted: Fri Feb 01, 2008 18:26 Post subject: |
|
|
sergeylost
Базовая часть имен файлов (например, "A-123-12A" или "B-234-34B") имеет заданную длину (определенное количество символов) или определяется по вхождению в имя первого символа "_"? Или по другим признакам?
Файлы перемещещать или копировать или тип действия задавать параметром?
Имя перемещенного (скопированного) файла остается неизменным или из него удаляется базовая часть? _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
sergeylost

Joined: 01 Feb 2008 Posts: 11 Location: St.Petersburg
|
(Separately) Posted: Fri Feb 01, 2008 18:55 Post subject: |
|
|
Batya wrote: | sergeylost
Базовая часть имен файлов (например, "A-123-12A" или "B-234-34B") имеет заданную длину (определенное количество символов) или определяется по вхождению в имя первого символа "_"? Или по другим признакам?
Файлы перемещещать или копировать или тип действия задавать параметром?
Имя перемещенного (скопированного) файла остается неизменным или из него удаляется базовая часть? |
Таааак, спасибо за реакцию.
Начнем все как спрошено.
Дам точно что надо:
вот как есть на самом деле, только заменим всякие буковки на читабельные, и Вы поймете я думаю.
Есть каталог (он один там всего лишь такой) на серваке, в нем масса папок, скажем первая называется A-123-1A
В ней лежит картинка под названием A-123-1A_kartinka
Я ее скопировал к себе. Таких копий у меня несколько тысяч. ))) И все подобные, имеют СВОЮ папочку на серваке, названы также именем папочки с добавкой _kartinka.
Повторюсь что бы не было недопонимания.
На серваке есть огромное количество каталогов названных от A-123-1A ...до ....... Z-789-9Z.
В них лежат картинки A-123-1A_kartinka .... Z-789-9Z_kartinka В каждой.
Поиском виндовса я нашел по алгоритму *-***-**_kartinka ВСЕ эти чертовы картинки. Скопировал к себев каталог TEMP - "Надругался" над ними )))), ПЕРЕсохранил в темп. Теперь надо эти картинки отдать обратно на сервер, каждую в свою папочку из которой они были взяты и ПРИПИСАТЬ к имени файла символ _p (подчеркивание пэ)
Ну ПЕРЕименовать эти файлики я смогу. Сразу все. Тотал позволяет это сделать. ГЛАВНОЕ надо разложить их теперь по своим родным папкам. Там, на серваке. Их много, их очень много. Если я тоталом буду перетаскивать я сдохну. Или перепутаю. Или косоглазие получу.
Вот такие дела. |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2226 Location: Москва, Россия
|
(Separately) Posted: Fri Feb 01, 2008 19:11 Post subject: |
|
|
sergeylost
Много понаписано, но как сделать, то что ты хочешь, я уже знаю.
Осталось получить ответ на вопрос (коротко, пожалуйста):
Batya wrote: | Файлы перемещещать или копировать или тип действия задавать параметром? |
В понедельник сделаю. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
sergeylost

Joined: 01 Feb 2008 Posts: 11 Location: St.Petersburg
|
(Separately) Posted: Fri Feb 01, 2008 19:34 Post subject: |
|
|
Batya wrote: | sergeylost
Много понаписано, но как сделать, то что ты хочешь, я уже знаю.
Осталось получить ответ на вопрос (коротко, пожалуйста):
Batya wrote: | Файлы перемещещать или копировать или тип действия задавать параметром? |
В понедельник сделаю. |
Перемещать.
===========================
Пардон. Много - это наверное привычка, до мельчайших подробностей расжевывать собеседнику свою просьбу. Что бы человек понял, что это не каприз, а действительно просьба. И тем более что я не сильно подкован технически. Терминов многих не знаю. Правильных.
Свой web-money кошелек в личку мне сообщите плиз. В реале то я не могу расчитаться. С меня как минимум поллитра. ))))
 |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2226 Location: Москва, Россия
|
(Separately) Posted: Mon Feb 04, 2008 13:25 Post subject: |
|
|
vbs-скрипт (если непонятно, что это, читай форум):
Code: | '=====================================================================
' Перемещение выделенных файлов в соответствующие им папки на
' противоположной панели TC
' Папка соответствует файлу, если ее имя является началом имени файла
' Параметры вызова из TC:
' %L "%T"
'=====================================================================
Option Explicit
Dim Title, Mess, FSO, ListF, List, Target, Fold, File, Name
' Проверяем параметры
Title = "Внимание!"
If WScript.Arguments.Count < 2 Then
Mess = "Неправильно указаны параметры!"
MessQuit
End If
Set FSO = CreateObject("Scripting.FileSystemObject")
ListF = WScript.Arguments(0)
Target = WScript.Arguments(1)
If Not FSO.FileExists(ListF) Then
Mess = "Неправильно указан файл-список обрабатываемых файлов!"
MessQuit
End If
If Not FSO.FolderExists(Target) Then
Mess = "Неправильно указана целевая папка!"
MessQuit
End If
List = Split(FSO.OpenTextFile(ListF).ReadAll, vbNewLine)
For Each Fold In FSO.GetFolder(Target).SubFolders
Name = Fold.Name
For Each File In List
If FSO.FileExists(File) Then 'Проверяем, не перемещен ли он уже
If LCase(Name) = LCase(Left(FSO.GetBaseName(File), Len(Name))) Then
FSO.CopyFile File, Fold & "\", True
FSO.DeleteFile File
End If
End If
Next
Next
Quit
Sub MessQuit
MsgBox Mess, vbOKOnly + vbError, Title
Quit
End Sub
Sub Quit
Set FSO = Nothing
Wscript.Quit
End Sub |
sergeylost wrote: | Много - это наверное привычка, до мельчайших подробностей расжевывать ... |
"Расжевать" - это хорошо. А вот топить свою мысль в словесном мусоре - это очень плохо. Я не знаю, как другие, а я жутко не люблю читать длинные пространные посты. Тем более раздражает, когда понимаешь, что все это можно было выразить одним-двумя предложениями.
Вообщем - "Краткость - сестра таланта." (c)
А еще лучше - "Время - деньги." (c)
Постарайся, чтобы твой собеседник не тратил лишнего времени, которого и так мало.
sergeylost wrote: | В реале то я не могу расчитаться. |
Халява, сэр. (с) _________________ Нет, я не сплю. Я просто медленно моргаю.
Last edited by Batya on Tue Feb 05, 2008 13:52; edited 1 time in total |
|
Back to top |
|
 |
sergeylost

Joined: 01 Feb 2008 Posts: 11 Location: St.Petersburg
|
(Separately) Posted: Mon Feb 04, 2008 16:11 Post subject: |
|
|
Спасибо. И хотя для меня вот это что ты написал непонятно, пойду разбираться как его включить что все заработало.
P. S. Халява.. епт. Я ж не подаяние прошу. За такие советы обычно проставляются. Ни фига, человек спецом работал, что бы мне бестолковому помочь.
Халява...
Я крайне возмущен.
Буду в Москве, надо будет встретится, хоть пивка попить что ли. Такой вариант катит?!
Ммм? |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2226 Location: Москва, Россия
|
(Separately) Posted: Mon Feb 04, 2008 17:13 Post subject: |
|
|
sergeylost wrote: | пойду разбираться как его включить что все заработало |
Итак, по-порядку:
1. В каталоге TC создаешь подкаталог Utils. В Utils создаешь подкаталог WHS.
2. Создаешь обычный текстовый файл с содержимым из раздела "Код" моего предыдущего поста.
3. Сохраняешь этот файл в ранее созданный каталог WHS с именем AccordMove и (обязательно!) расширением vbs.
4. Создаешь кнопку:
Code: | TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\WHS\AccordMove.vbs
%L "%T"
%windir%\system32\shell32.dll,87
Согласованное перемещение
-1
|
(Выделяешь всё, что в разделе "Код", включая единицу. Прав. кнопка мыши -> Копировать. В TC на панели прав. кнопка мыши -> Вставить. Получается кнопка.)
5. Используешь:
- В одной панели TC открываешь папку, в которой лежат твои каталоги от A-123-1A ...до ....... Z-789-9Z.
- В другой панели TC выделяешь файлы, которые необходимо переместить.
- Нажимаешь кнопку, когда активна панель с выделенными файлами.
sergeylost wrote: | хоть пивка попить что ли |
Забей.
На этом форуме очень много TC-энтузиастов, которые пишут бесплатные плагины. Не буду же я со своими коротенькими скриптами еще что-то за них требовать. "Спасибо" достаточно. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
sergeylost

Joined: 01 Feb 2008 Posts: 11 Location: St.Petersburg
|
(Separately) Posted: Mon Feb 04, 2008 20:21 Post subject: |
|
|
Batya wrote: | Итак, по-порядку:
<...> |
Ооооёёёё.. Вот как надо правильно!!
А я создал vbs скрипт, перетащил на панель тотала, создалась кнопка, правый клик свойства дописал %L "%T" в пустой строчке,
открываю слева откуда надо справа куда надо, выделил - клик кнопку и пошло поехало. Скрип лежит в той же папке где и куча мала файлов.
Хм. Чудеса. Жму руку. Вот уж не знал не гадал что тут просто так решат мне помочь. Брат, ты мне неделю времени съэкономил)))))
СПАСИБО!
======================
Не в службу а в дружбу, что и в какой строке надо дописать что бы скрипт ПЕРЕзаписывал файлы, а не останавливался с предупреждением?
! | CaptainFlint: | Оверквотинг удалён. | |
|
Back to top |
|
 |
sergeylost

Joined: 01 Feb 2008 Posts: 11 Location: St.Petersburg
|
(Separately) Posted: Mon Feb 04, 2008 21:02 Post subject: |
|
|
 |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2226 Location: Москва, Россия
|
(Separately) Posted: Tue Feb 05, 2008 13:53 Post subject: |
|
|
sergeylost wrote: | Не в службу а в дружбу, что и в какой строке надо дописать что бы скрипт ПЕРЕзаписывал файлы, а не останавливался с предупреждением? |
Исправил исходный скрипт. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
sergeylost

Joined: 01 Feb 2008 Posts: 11 Location: St.Petersburg
|
(Separately) Posted: Tue Feb 05, 2008 16:02 Post subject: |
|
|
Batya wrote: | sergeylost wrote: | Не в службу а в дружбу, что и в какой строке надо дописать что бы скрипт ПЕРЕзаписывал файлы, а не останавливался с предупреждением? |
Исправил исходный скрипт. |
Спасибо. |
|
Back to top |
|
 |
hawk777
Joined: 27 Dec 2008 Posts: 61
|
(Separately) Posted: Sat Dec 27, 2008 14:29 Post subject: |
|
|
с длинными названиями файлов скрипт ругается на ошибку в строке 40, символ 1 и файл не перемещается. Скажите пожалуйста как убрать ограничение на длину названия перемещаемого файла. |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2226 Location: Москва, Россия
|
(Separately) Posted: Mon Dec 29, 2008 11:02 Post subject: |
|
|
hawk777
Приведите реальное имя копируемого файла и целевой папки. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
hawk777
Joined: 27 Dec 2008 Posts: 61
|
(Separately) Posted: Mon Dec 29, 2008 17:41 Post subject: |
|
|
Batya
Название папки: Бургонский В. Г. , Бургонский В. В., Куцевляк С. В. - Борьба с перекрестной инфекцией во время стоматологического приема
название файла: Бургонский В. Г. , Бургонский В. В., Куцевляк С. В. - Борьба с перекрестной инфекцией во время стоматологического приема. файл формата DJVU. |
|
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
|