Мультикопирование?

Форум о самом популярном файловом менеджере Total Commander

Сообщение Uroboros » Чт июн 17, 2004 7:57 pm

Господа, кто нибудь может помочь с проблеммой?:
Необходимо копировать папку с одним и тем же набором файлов в другие папки (одного уровня)
Типа на левой панели - папка с копируемыми файлами, на правой - папки, в которые необходимо скопировать.
Как правило их около 200 шт. Поэтому вручную копировать - облом полный Изображение
Могёт ли кто нибудь плагин сваять, чтоб типа отметил папки, в которые писать надо, перешел на другой панель, отметил, чего копировать хочешь, нажал типа Ctrl+F5 и в указанные ранее папочки АПТОМАТОМ скопировалась нужная папочка с файлами
Uroboros
Рядовой
 
Сообщений: 7
Зарегистрирован: Чт июн 17, 2004 7:44 pm
Пункты репутации: 0

Сообщение Evgenych » Пт июн 18, 2004 2:10 pm

<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->
Господа, кто нибудь может помочь с проблеммой?:
<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
Под 2k/nt/xp (может еще где?...):

Команда: cmd.exe /c
Параметры: for /f %%i in (%f) do xcopy %t%m\*.* %%i
Путь: -
Evgenych
Прапор
 
Сообщений: 66
Зарегистрирован: Пт июл 11, 2003 3:38 pm
Пункты репутации: 0

Сообщение Volniy » Пт июн 18, 2004 11:23 pm

Вот тебе для начала (чейта я разошелся с этими скриптами Изображение )

==== start of file MultyCopy.vbs ===

' ©2004, Volniy

Option Explicit
Dim Targets, Source
Dim txtStream, fso, objArgs

Set objArgs = WScript.Arguments
Set fso = CreateObject("Scripting.FileSystemObject")
Set objArgs = WScript.Arguments

If objArgs.Count = 2 Then
Source = objArgs(0)
Source = Mid(Source, 1, Len(Source) - 1)
Targets = objArgs(1)
Else
MsgBox "Неверное число параметров!", vbCritical
WScript.Quit
End If

If fso.FileExists(Targets) = False Or fso.FolderExists(Source) = False Then
MsgBox "Указаны неверные параметры!", vbCritical
WScript.Quit
End If

Set txtStream = fso.OpenTextFile(Targets, 1)
Do While Not (txtStream.AtEndOfStream)
fso.CopyFolder Source, txtStream.ReadLine
Loop

MsgBox "Операция завершена!", vbInformation

Set txtStream = Nothing
Set fso = Nothing
Set objArgs = Nothing

WScript.Quit

==== end of file MultyCopy.vbs ===

Создай этот файл и повесь его на панель тотала. В свойствах этой кнопки в качестве параметров укажи: %T %L.
Работать так: войди в папку, являющуюся источником. Перейди на другую панель тотала и выдели на ней все те папки, в которые нужно записать эту исходную. Нажми на кнопочку MultyCopy и дождись окончания работы скрипта. Вот вроде бы и все Изображение
Volniy
Ст. лейтенант
 
Сообщений: 121
Зарегистрирован: Сб ноя 22, 2003 11:42 pm
Пункты репутации: 0

Сообщение dest » Сб июн 19, 2004 4:16 am

<!--QuoteBegin-Volniy+Jun 19 2004, 03:14--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата (Volniy @ Jun 19 2004, 03:14)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> Дело в том, что повторное копирование одного и того-же файла(ов) практически всегда происходит из ОЗУ. Это эффект работы кэша Windows. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
Это не совсем правда.
Кэш он савсем не резиновый(на обычных настройках запоминает 2-3 тысячи имен файлов).
Наша работа во тьме -
Мы делаем, что умеем,
Мы отдаем, что имеем,
Наша работа во тьме.
Сомнения стали страстью,
А страсть стала судьбою.
Все остальное - искуство
В безумии быть собой.
dest
Ст. лейтенант
 
Сообщений: 114
Зарегистрирован: Вс май 09, 2004 4:34 am
Пункты репутации: 0

Сообщение Evgenych » Сб июн 19, 2004 7:10 am

Кнопка на панели инструментов
<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->
Команда: cmd.exe /c
Параметры: for /f %%i in (%f) do xcopy %t%m\*.* %%i
Путь: -
<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->

Лучше так:
Параметры: for /f %%i in (%f) do xcopy %t*.* %%i
---> содержимое папки приемника копируется в выделенные папки источника

А если так:
Параметры: for %%i in (%t*.*) do for /f %%j in (%f) do xcopy %%i %%j
то каждый файл из папки примника будет распихиваться поочередно по выделенным папкам источника, т.е. каждый файл будет читаться в ОЗУ 1 раз.
Evgenych
Прапор
 
Сообщений: 66
Зарегистрирован: Пт июл 11, 2003 3:38 pm
Пункты репутации: 0

Сообщение Volniy » Сб июн 19, 2004 8:28 am

<!--QuoteBegin-dest+Jun 19 2004, 07:16--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата (dest @ Jun 19 2004, 07:16)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Это не совсем правда.
Кэш он савсем не резиновый(на обычных настройках запоминает 2-3 тысячи имен файлов).<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
Во-первых я и сказал "почти всегда". Если это неправда, то для чего тогда вообще нужен этот кеш?
Во-вторых кеш не для запоминания имен файлов, а для промежуточного хранения их содержимого
В-третьих мне почему-то так кажется, что товарищ и не собирался копировать вовнутрь более чем 200 папок содержимое 4 и более тысячи одних и тех же файлов. Разве что только у него резиновый жесткий диск Изображение
В-четвертых ОЗУ ведь тоже не резиновое и в случае большого количества файлов (точнее большого суммарного их объема) разместить их средствами плугина в этом ОЗУ тоже не представляется возможным.
В-пятых насколько я понимаю речь идет о разовой операции, а следовательно скорость выполнения ее особой роли не играет.
В-шестых а не пора бы самому автору темы попробовать предложенные варианты и сообщить о их (не)работоспособности?
Volniy
Ст. лейтенант
 
Сообщений: 121
Зарегистрирован: Сб ноя 22, 2003 11:42 pm
Пункты репутации: 0

Сообщение dAnIK SeNT » Сб июн 19, 2004 8:28 pm

<!--mod1--></div><BR><TABLE><TD align=middle bgColor=#6060ff vAlign=center width=1%><FONT color=#ffffff size=+7 style="FONT-FAMILY: Times" title="Сообщение модератора">М</FONT></TD><TD width=3><BR></TD><TD vAlign=top><!--emod1-->Лишние сообщения потер.
Участникам флейма - выговор с занесением...<!--mod2--></TD></TABLE><div class='postcolor'><!--emod2-->
яНЯЕД ОН СОПЪФЙЕ: Athlon 64 X2 5200+ @2,86GHz / nF 570 SLI (ASUS M2N SLI Deluxe) / 4 Gb RAM (4x1Gb Kingston) / 2,9Tb SATAII (0,50+0,64+0,75+1,00Tb WD) / ASUS 8800 GTS512 / 2x NEC-Optiarc AD-7173 / Thermaltake ToughPower 650W / 2x30W Microlab Solo-2 / 20" LCD Benq FP202W (wide) / openSUSE 11.1 / KDE 4.2.1
<!--coloro:Navy--><span style="color:Navy"><!--/coloro-->оН БЯЕЛ БНОПНЯЮЛ - Б email. б ICQ ОНЪБКЪЧЯЭ ПЮГ Б ОНКЦНДЮ.<!--colorc--></span><!--/colorc-->
dAnIK SeNT
Маршал
 
Сообщений: 5101
Зарегистрирован: Чт мар 28, 2002 7:48 pm
Откуда: яяяп
Пункты репутации: 0

Сообщение Uroboros » Сб июн 19, 2004 9:15 pm

2Volniy

Протестировал...
Огромное спасибо!!!!!
ВСЕ РАБОТАЕТ ОТЛИЧНО!!!
Uroboros
Рядовой
 
Сообщений: 7
Зарегистрирован: Чт июн 17, 2004 7:44 pm
Пункты репутации: 0

Сообщение Strateg » Чт июн 24, 2004 1:11 pm

2Uroboros
а можно и мне объяснить как и чем пользоваться? В жизни такая штука очень может понадобиться. А то я скопировал этот скрипт в файлик "MultiCopy.vbs" создал кнопочку, все вроде правильно сделал, но от скрипта добился лишь "---------------------------
VBScript
---------------------------
Неверное число параметров!
---------------------------
OK
---------------------------
"
хм...!
Strateg
Полковник
 
Сообщений: 1016
Зарегистрирован: Пт май 24, 2002 7:26 am
Откуда: Краснодар
Пункты репутации: 0

Сообщение Evgenych » Чт июн 24, 2004 5:18 pm

<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->
Неверное число параметров!
<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
Может поможет %T ---> "%T" ?
Evgenych
Прапор
 
Сообщений: 66
Зарегистрирован: Пт июл 11, 2003 3:38 pm
Пункты репутации: 0

Сообщение Uroboros » Чт июн 24, 2004 7:48 pm

2Strateg
Я сделал в точности так, как описал Volniy.
Попробую поподробнее:
1. Удалить текст с начала файла до строки Option Explicit
2. Удалить текст от строки WScript.Quit до конца файла (естествеено Option Explicit и WScript.Quit НЕ УДАЛЯТЬ).
3. Подвязать полученный файл к кнопочке Тотала.
4. В строке Параметры указать %T %L
5. Пользоваться!!!

Вообще удаленные строки - это указание авторства и обозначение начала и конца файла. Я просто не знаю как их закомментировать. Если бы это было возможно, то получился бы оригинальный файл автора, а так - только резать.
НО РАБОТАЕТ ОТЛИЧНО!!!
Uroboros
Рядовой
 
Сообщений: 7
Зарегистрирован: Чт июн 17, 2004 7:44 pm
Пункты репутации: 0

Сообщение Volniy » Чт июн 24, 2004 9:20 pm

<!--QuoteBegin-Uroboros+Jun 24 2004, 22:48--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата (Uroboros @ Jun 24 2004, 22:48)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->2Strateg
Я сделал в точности так, как описал Volniy.
<...>
Вообще удаленные строки - это указание авторства и обозначение начала и конца файла. Я просто не знаю как их закомментировать. Если бы это было возможно, то получился бы оригинальный файл автора, а так - только резать.<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
Ничего удалять, в принципе, и не нужно. Если в скрипте нужно закомментровать строку, то в начале ее ставишь символ <span style='font-size:15pt;line-height:100%'>'</span> (апостроф, что-ли он называется?). А так как в том скрипте это уже было сделано, то все, что располагается между линиями обрезки (======) и есть сам скрипт.
Последний раз редактировалось Volniy Чт июн 24, 2004 9:22 pm, всего редактировалось 1 раз.
Volniy
Ст. лейтенант
 
Сообщений: 121
Зарегистрирован: Сб ноя 22, 2003 11:42 pm
Пункты репутации: 0

Сообщение Uroboros » Пт июн 25, 2004 8:18 pm

2Volniy
В том то и дело, что сначала и я, как Strateg, сначала включил в файл и линии обрезки. Именно на них и ругается скрипт (а апостроф я просто не заметил, потому и написал, что незакомментировано...)
Uroboros
Рядовой
 
Сообщений: 7
Зарегистрирован: Чт июн 17, 2004 7:44 pm
Пункты репутации: 0


Вернуться в Total Commander

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12

cron