View previous topic :: View next topic |
Author |
Message |
alexantey
Joined: 26 Feb 2014 Posts: 2
|
(Separately) Posted: Wed Feb 26, 2014 21:13 Post subject: Замена файлов в подпапках |
|
|
Здравствуйте.
Прошу совета в следующей ситуации. В левой панели в папке есть файл, в правой панели - папка с вложенными подпапками и файлами в них. Возможно ли встроенными или сторонними средствами автоматически скопировать файл из левой панели в подпапку правой панели, в которой находится одноименный с копируемым файл? То есть сначала автоматически делается поиск местоположения одноименного файла в дереве соседней панели, а затем производится копирование именно в папку с найденным одноименным файлом (с запросом на замещение соответственно).
Спасибо. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10262 Location: Россия, Саратов
|
(Separately) Posted: Wed Feb 26, 2014 21:43 Post subject: |
|
|
alexantey
Встроенными средствами это невозможно. Что касается сторонних средств, то для подобных запросов существует подфорум "Автоматизация", куда и переносится тема. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2571
|
(Separately) Posted: Thu Feb 27, 2014 08:21 Post subject: |
|
|
alexantey
Для поиска одноименного файла в дереве соседней панели можно воспользоваться скриптом . Если он подойдёт, то можно дополнить его тремя строчками для перехода, скажем, к первому из найденных дубликатов и вызова команды копирования. |
|
Back to top |
|
|
alexantey
Joined: 26 Feb 2014 Posts: 2
|
(Separately) Posted: Thu Feb 27, 2014 12:28 Post subject: |
|
|
sa
спасибо, попробую. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2571
|
(Separately) Posted: Sat Mar 01, 2014 17:48 Post subject: |
|
|
alexantey wrote: | Возможно ли встроенными | Если файлов не так много (время поиска одноимённых файлов <5сек), то в версиях 8.5x можно обойтись и встроенными. Надо будет создать пользовательскую команду em_SelTrgFile, где в поле Команда: записать SELECTFILES, а в поле Параметры: "%M" и воспользоваться кнопкой:
Code: | TOTALCMD#BAR#DATA
4001,4002,540,2026,em_SelTrgFile,2023,2050,2026,4001,3101
wcmicons.dll,14
Cкопировать файл из левой панели в подпапку правой панели, в которой находится одноименный с копируемым файл
-1
|
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Mar 01, 2014 19:55 Post subject: |
|
|
Тут всё проще: Code: | '===============================================================
' Замена одноимённых файлов в структуре каталога целевой панели
' с запросом на перезапись
' Параметры: %V "%T" [<запрос на перезапись: 1>]
'===============================================================
With WScript.Arguments
File = .Item(0) : Path = .Item(1)
If .Count = 3 Then Query = .Item(2)
End With
Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.FileExists(File) And FSO.FolderExists(Path) Then
FName = FSO.GetFileName(File) : FFolder FSO.GetFolder(Path)
End If : Set FSO = Nothing : WScript.Quit
Sub FFolder(Folder)
F = Folder.Path & "\" & FName
If FSO.FileExists(F) Then
M = 6
If Query = 1 Then M = MsgBox("Перезаписать файл " & F & " ?", 36)
If M = 6 Then FSO.CopyFile File, Folder.Path & "\"
End If : For Each Fd In Folder.SubFolders : FFolder Fd : Next
End Sub | Можно, конечно, добавить сравнение по размеру/хэшу, если совсем приспичит. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sat Mar 01, 2014 20:25 Post subject: |
|
|
CMD
Code: | @echo off &setlocal enableextensions
:: Замена одноимённых файлов в структуре каталога целевой панели
:: Параметры: "%P%O.%E" "%T"
pushd %2
for /f "delims=" %%f in ('dir /b/a-d/s "%~2%~nx1" 2^>nul') do (
xcopy /fhrkyz %1 "%%f"
)
|
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Mar 01, 2014 21:59 Post subject: |
|
|
Tol!k
"%P%O.%E" - зачем так сложно? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2571
|
(Separately) Posted: Sat Mar 01, 2014 22:11 Post subject: |
|
|
Если одноимённых файлов в правой панели может быть несколько, то предложенная кнопка немного упростится, а в диалоге копирования TC нужно будет указать опцию “Копировать во все выделенные папки/ссылки целевой панели” :
Code: | TOTALCMD#BAR#DATA
4001,4002,540,2026,em_SelTrgFile,2023,4001,3101
wcmicons.dll,14
Cкопировать файл из левой панели в подпапки правой панели, в которых находится одноименный с копируемым файл
-1
| Как вариант, здесь можно отказаться от копирования единственного файла, выделить в левой панели произвольную группу файлов и скопировать уже её по выделенным папкам/ссылкам правой панели. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Mar 01, 2014 22:28 Post subject: |
|
|
sa
В запросе про выделение в целевой панели чего-либо не писалось, как и про то, что корень её папки задействовать не надо. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2571
|
(Separately) Posted: Sat Mar 01, 2014 22:35 Post subject: |
|
|
Flasher wrote: | про то, что корень целевой папки задействовать не надо. |
А у меня и нет такого ограничения. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Mar 01, 2014 22:42 Post subject: |
|
|
Как это нет? Если ты выбираешь опцию для выделенных папок, то корень не будет затронут. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2571
|
(Separately) Posted: Sat Mar 01, 2014 22:50 Post subject: |
|
|
Flasher wrote: | Как это нет? |
Кнопка не так сложна, чтобы её не проверить… |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Mar 01, 2014 23:10 Post subject: |
|
|
Я пока твою кнопку не понял. Как она (а точнее ТС) может копировать в выделенные файлы? Ты сам то своё добро тестировал? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2571
|
(Separately) Posted: Sun Mar 02, 2014 00:00 Post subject: |
|
|
Flasher wrote: | Как она (а точнее ТС) может копировать в выделенные файлы? |
Нажми Ctrl+B, выдели два файла (принадлежащие разным папкам), перейди на другую панель и скопируй из неё файл с указанием опции “Копировать во все выделенные папки/ссылки целевой панели”. Какой результат? |
|
Back to top |
|
|
|