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 1, 2, 3  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
sergeylost



Joined: 01 Feb 2008
Posts: 11
Location: St.Petersburg

Post (Separately) Posted: Fri Feb 01, 2008 17:22    Post subject: Как переместить файлы автоматом, каждый в свой каталог? Reply with quote

Господа, помогите советом или дайте ссылку (если такая уже есть) Smile..

Вопрос.

Есть обычный пользователь тоталом. Без премудростей пользующийся панелями и свойствами программы. То бишь это я. Embarassed
Есть много каталогов (несколько тысяч епт!!) с именами такого типа A-123-12A. (т.е. буквы-цифры) Путь до них известен. У меня на компе есть кучи файлов с СООТВЕТСТВУЮЩИМИ именами. Т.е имя директории\каталога ТАМ где то в конце пути равно имени файла у меня на компе + ****** (какое то количество символов)

Надо применить какую то фишку к этому каталогу что бы КАЖДЫЙ файлик лежащий в нем у меня на компе переместить (или скопировать) в соответствующий его имени каталог куда то ТУДА..

Пример:

Имею на компе готовые картинки с именами A-123-12A_**** и B-234-34B_**** (картинок туева хуча и еще тележка Smile и все называются по разному)


Очень хочется - каким то образом в автомате переместить(скопировать) КАЖДЫЙ файлик в соответствующий его имени каталог, лежащий на другом компе, через локальную сеть. Доступ к той папке на другом компе есть полный.
т.е. A-123-12A_***** в каталог A-123-12A
B-234-34B_**** в каталог B-234-34B

Желательно выделить кучу файлов в левой панели что то такое запустить-кликнуть (произнести магическое заклинание или танец с бубном) и тотал-командер 6.55 (стоит на работе) слил бы все эти файлики в свои родные папочки.

Кто сможет сказать куда атаковать?! (Только мужщины, поподробнее если кто понял про что я тут толкую, я в тотале просто пользователь, не стесняйтесь подробностей)
Back to top
View user's profile Send private message  
Batya



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

Post (Separately) Posted: Fri Feb 01, 2008 18:26    Post subject: Reply with quote

sergeylost
Базовая часть имен файлов (например, "A-123-12A" или "B-234-34B") имеет заданную длину (определенное количество символов) или определяется по вхождению в имя первого символа "_"? Или по другим признакам?
Файлы перемещещать или копировать или тип действия задавать параметром?
Имя перемещенного (скопированного) файла остается неизменным или из него удаляется базовая часть?
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message  
sergeylost



Joined: 01 Feb 2008
Posts: 11
Location: St.Petersburg

Post (Separately) Posted: Fri Feb 01, 2008 18:55    Post subject: Reply with quote

Batya wrote:
sergeylost
Базовая часть имен файлов (например, "A-123-12A" или "B-234-34B") имеет заданную длину (определенное количество символов) или определяется по вхождению в имя первого символа "_"? Или по другим признакам?
Файлы перемещещать или копировать или тип действия задавать параметром?
Имя перемещенного (скопированного) файла остается неизменным или из него удаляется базовая часть?


Таааак, спасибо за реакцию. Smile
Начнем все как спрошено.

Дам точно что надо:
вот как есть на самом деле, только заменим всякие буковки на читабельные, и Вы поймете я думаю.

Есть каталог (он один там всего лишь такой) на серваке, в нем масса папок, скажем первая называется 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
View user's profile Send private message  
Batya



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

Post (Separately) Posted: Fri Feb 01, 2008 19:11    Post subject: Reply with quote

sergeylost
Много понаписано, но как сделать, то что ты хочешь, я уже знаю.

Осталось получить ответ на вопрос (коротко, пожалуйста):
Batya wrote:
Файлы перемещещать или копировать или тип действия задавать параметром?


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



Joined: 01 Feb 2008
Posts: 11
Location: St.Petersburg

Post (Separately) Posted: Fri Feb 01, 2008 19:34    Post subject: Reply with quote

Batya wrote:
sergeylost
Много понаписано, но как сделать, то что ты хочешь, я уже знаю.

Осталось получить ответ на вопрос (коротко, пожалуйста):
Batya wrote:
Файлы перемещещать или копировать или тип действия задавать параметром?


В понедельник сделаю.


Перемещать.

===========================

Пардон. Много - это наверное привычка, до мельчайших подробностей расжевывать собеседнику свою просьбу. Что бы человек понял, что это не каприз, а действительно просьба. И тем более что я не сильно подкован технически. Терминов многих не знаю. Правильных.



Свой web-money кошелек в личку мне сообщите плиз. В реале то я не могу расчитаться. С меня как минимум поллитра. ))))

Back to top
View user's profile Send private message  
Batya



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

Post (Separately) Posted: Mon Feb 04, 2008 13:25    Post subject: Reply with quote

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
View user's profile Send private message  
sergeylost



Joined: 01 Feb 2008
Posts: 11
Location: St.Petersburg

Post (Separately) Posted: Mon Feb 04, 2008 16:11    Post subject: Reply with quote

Спасибо. И хотя для меня вот это что ты написал непонятно, пойду разбираться как его включить что все заработало.

P. S. Халява.. епт. Я ж не подаяние прошу. За такие советы обычно проставляются. Ни фига, человек спецом работал, что бы мне бестолковому помочь.
Халява...
Я крайне возмущен.
Буду в Москве, надо будет встретится, хоть пивка попить что ли. Такой вариант катит?!
Ммм?
Back to top
View user's profile Send private message  
Batya



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

Post (Separately) Posted: Mon Feb 04, 2008 17:13    Post subject: Reply with quote

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
View user's profile Send private message  
sergeylost



Joined: 01 Feb 2008
Posts: 11
Location: St.Petersburg

Post (Separately) Posted: Mon Feb 04, 2008 20:21    Post subject: Reply with quote

Batya wrote:
Итак, по-порядку:
<...>

Ооооёёёё.. Вот как надо правильно!!
А я создал vbs скрипт, перетащил на панель тотала, создалась кнопка, правый клик свойства дописал %L "%T" в пустой строчке,
открываю слева откуда надо справа куда надо, выделил - клик кнопку и пошло поехало. Скрип лежит в той же папке где и куча мала файлов.

Хм. Чудеса. Жму руку. Вот уж не знал не гадал что тут просто так решат мне помочь. Брат, ты мне неделю времени съэкономил)))))
СПАСИБО!
======================

Не в службу а в дружбу, что и в какой строке надо дописать что бы скрипт ПЕРЕзаписывал файлы, а не останавливался с предупреждением?

 !  CaptainFlint:
Оверквотинг удалён.
Back to top
View user's profile Send private message  
sergeylost



Joined: 01 Feb 2008
Posts: 11
Location: St.Petersburg

Post (Separately) Posted: Mon Feb 04, 2008 21:02    Post subject: Reply with quote

Back to top
View user's profile Send private message  
Batya



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

Post (Separately) Posted: Tue Feb 05, 2008 13:53    Post subject: Reply with quote

sergeylost wrote:
Не в службу а в дружбу, что и в какой строке надо дописать что бы скрипт ПЕРЕзаписывал файлы, а не останавливался с предупреждением?

Исправил исходный скрипт.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message  
sergeylost



Joined: 01 Feb 2008
Posts: 11
Location: St.Petersburg

Post (Separately) Posted: Tue Feb 05, 2008 16:02    Post subject: Reply with quote

Batya wrote:
sergeylost wrote:
Не в службу а в дружбу, что и в какой строке надо дописать что бы скрипт ПЕРЕзаписывал файлы, а не останавливался с предупреждением?

Исправил исходный скрипт.


Спасибо.
Back to top
View user's profile Send private message  
hawk777



Joined: 27 Dec 2008
Posts: 61

Post (Separately) Posted: Sat Dec 27, 2008 14:29    Post subject: Reply with quote

с длинными названиями файлов скрипт ругается на ошибку в строке 40, символ 1 и файл не перемещается. Скажите пожалуйста как убрать ограничение на длину названия перемещаемого файла.
Back to top
View user's profile Send private message  
Batya



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

Post (Separately) Posted: Mon Dec 29, 2008 11:02    Post subject: Reply with quote

hawk777
Приведите реальное имя копируемого файла и целевой папки.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message  
hawk777



Joined: 27 Dec 2008
Posts: 61

Post (Separately) Posted: Mon Dec 29, 2008 17:41    Post subject: Reply with quote

Batya
Название папки: Бургонский В. Г. , Бургонский В. В., Куцевляк С. В. - Борьба с перекрестной инфекцией во время стоматологического приема
название файла: Бургонский В. Г. , Бургонский В. В., Куцевляк С. В. - Борьба с перекрестной инфекцией во время стоматологического приема. файл формата DJVU.
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 1, 2, 3  Next
Page 1 of 3

 
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