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
AlexBiggest



Joined: 19 Apr 2014
Posts: 9

Post (Separately) Posted: Sat Apr 19, 2014 05:46    Post subject: Создание папки и перемещение туда выделенных файлов Reply with quote

Как выполнить следующую задачу:

1. В одной панели выделяем несколько файлов или ставим курсор на один файл.

2. Жмем комбинацию клавиш Ctrl-F7.

3. В другой панели создается папка с заранее заданным в скрипте именем и происходит вход в нее. Если такая папка уже есть, то сразу осуществляется вход в нее.

Если имя папки заранее не задавано в скрипте, то запрашивается ее имя.

4. Выделенные файлы (или файл, на котором стоит курсор) перемещаются в эту папку.

Надеюсь на вашу помощь.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat Apr 19, 2014 14:25    Post subject: Reply with quote

В этом скрипте
Code:
  List = .Item(0) : Path = .Item(1) : If C = 3 Then Jump = .Item(2)
меняем на
Code:
  List = .Item(0) : Path = .Item(1) : Folder = .Item(2)
  If C = 4 Then Jump = .Item(3)

и
Code:
M = Month(Date) : If Len(M) = 1 Then M = "0" & M
D = Day(Date)   : If Len(D) = 1 Then D = "0" & D
Targ = Path & Year(Date) & "." & M & "." & D & "\"
на
Code:
If Folder = "" Then
  L = vbNewLine
  Folder = InputBox(L&L&L&L&"Введите имя папки, " &_
  L & "куда переместится выбранное:",_
  "      Перемещение элементов в назначенный каталог")
  If Trim(Folder) = "" Then Wscript.Quit
End If : Targ = Path & Folder & "\"
Параметры в итоге такие: %WL "<путь_получателя\>" "<имя папки>" <переход в папку: 1>
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
AlexBiggest



Joined: 19 Apr 2014
Posts: 9

Post (Separately) Posted: Sat Apr 19, 2014 16:31    Post subject: Reply with quote

Flasher wrote:
В этом скрипте
Код:

List = .Item(0) : Path = .Item(1) : If C = 3 Then Jump = .Item(2)

меняем на



Спасибо за быстрый ответ! Все работает просто шикарно, если ввести в параметрах путь, куда надо все перемещать. Т.е. если надо переместить в папку МОЯПАПКА указываем параметр так:

%WL "%T" МОЯПАПКА

НО! Если я хочу, чтобы путь у меня запрашивался, я вроде должен убрать МОЯПАПКА, т.е. вставляю:

%WL "%T"


В таком варианте у меня не запрашивается путь, куда все перемещать, а выдает ошибку:

Windows Script Host:

Script: C:\2\move.vbs
Line: 9
Char: 39
Error: Subscript out of range
Code: 800A0009
Source: Microsoft VBScript runtime error


Как устранить?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat Apr 19, 2014 17:08    Post subject: Reply with quote

Нет, должно быть так: %WL "%T" "" 1
Хотя можно и как предложено, только нужно красное в 9 строке добавить: : If C = 3 Then Folder = .Item(2)
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
AlexBiggest



Joined: 19 Apr 2014
Posts: 9

Post (Separately) Posted: Sat Apr 19, 2014 17:40    Post subject: Reply with quote

Flasher wrote:
Нет, должно быть так


Отлично! Теперь все работает как надо. Спасибо!
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2561

Post (Separately) Posted: Sun Apr 20, 2014 21:31    Post subject: Reply with quote

Кнопка для версий TC 8.5 и выше с использованием утилиты TCFS2:
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "tcm(906,1) delay(200)
send(`^{home}~(ИМЯ)\{LEFT}`, findwnd(`TInpComboDlg`))"
%COMMANDER_PATH%\Totalcmd.exe,17
Переместить в папку ИМЯ в другой панели


-1
Если имя папки не надо запрашивать или дополнять, то для ускорения можно добавить {ENTER} после {LEFT}.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Apr 20, 2014 23:05    Post subject: Reply with quote

sa
П. 3 куда в твоей кнопке делся?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2561

Post (Separately) Posted: Sun Apr 20, 2014 23:30    Post subject: Reply with quote

Flasher
Ты про то, что в созданную папку нужно в итоге не только переместить файлы, но и непременно открыть её в другой панели? Я как-то этот момент не прочувствовал. Действительно это требуется AlexBiggest?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Apr 20, 2014 23:56    Post subject: Reply with quote

sa wrote:
Действительно это требуется AlexBiggest?
Если в задаче стоит, то почему нет? Тем более с учётом реакции:
AlexBiggest wrote:
Теперь все работает как надо.

_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2561

Post (Separately) Posted: Mon Apr 21, 2014 00:20    Post subject: Reply with quote

Я бы всё-таки уточнил поставленную задачу. В п.3 скорее описывается алгоритм, который бы использовал автор. Тем более, то, что указано в последнем пункте задания не очень сочетается с твоим итоговым переходом в созданную папку:
Quote:
4. Выделенные файлы (или файл, на котором стоит курсор) перемещаются в эту папку.
То есть курсор по идее остаётся в исходной панели.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Mon Apr 21, 2014 00:56    Post subject: Reply with quote

sa wrote:
Я бы всё-таки уточнил поставленную задачу.
Т.е. приведённого ответа недостаточно?
sa wrote:
То есть курсор по идее остаётся в исходной панели.
На момент запуска курсор и стоит на выбранных файлах. Не вижу тут нестыковки. Переименуй на "стоял", суть не изменится.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2561

Post (Separately) Posted: Mon Apr 21, 2014 08:24    Post subject: Reply with quote

Flasher wrote:
Переименуй на "стоял", суть не изменится.

Переместить файлы к себе – как-то это не по тоталовски.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Mon Apr 21, 2014 11:09    Post subject: Reply with quote

sa wrote:
Переместить файлы к себе
Не догадываюсь, о чём ты.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2561

Post (Separately) Posted: Mon Apr 21, 2014 11:55    Post subject: Reply with quote

Зачем копья-то ломать: ты понял задачу по-своему, я по-своему.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Mon Apr 21, 2014 13:25    Post subject: Reply with quote

Важно, что я понял её так, как хотел автор запроса.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
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