Создание цепочки папок из буфера обмена

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Ответить
Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Создание цепочки папок из буфера обмена

Сообщение Dimsok »

Всех с Наступающим!

Задача: Создавать из буфера вида "c:\Program Files\Total Commander\" вложенные папки, т.е в данном случае будет 3 папки: С/Program Files/Total Commander. Можно, конечно через F7 но там надо будет убирать двоеточие, а мы в разделе автоматизации. C dircopy тоже нужного результата не добился, да и это тоже лишние манипуляции.

И хотелось бы ещё второй вариант - создавать папки в текущей панели не из буфера, а исходя из того, какой путь у текущей панели. То есть те 3 папки будут создаваться, если находишься в деректории "Total Commander"
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

С наступающим!

Второе не понял. Т.е. C:\Program Files\Total Commander\C\Program Files\Total Commander ?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Сообщение Dimsok »

Второе - в текущем каталоге создавать структуру вложенных папок, последняя из которых будет та, в которой и будет это создаваться. К примеру, путь активной панели "C:\Program Files\Total Commander\", тогда в папке Total commander должно создаваться три папки: С, в ней Program Files, а в ней Total Commander.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Инет пропадал. Так пойдёт?:

Код: Выделить всё

'======================= VBS =======================
' Cоздать в каталоге активной панели путь с цепочкой
' из буфера обмена при наличии, иначе из него самого

' Условие: путь запуска - пустой
'===================================================
R = "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\1407"
With CreateObject("WScript.Shell")
  Dir = .CurrentDirectory : On Error Resume Next
  A = .RegRead(R): If A > 0 Or Err.Number <> 0 Then .RegWrite R, 0, "REG_DWORD"
  Path = Trim(CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text"))
  If A > 0 Then .RegWrite R, A, "REG_DWORD"
  On Error Goto 0 : If InStr(Path, ":\") <> 2 Then Path = Dir
  Dirs = Replace(Path, ":", "")
With CreateObject("Shell.Application")
  If VarType(.NameSpace(Dir & "\" & Dirs)) = 9 Then .NameSpace(Dir).NewFolder(Dirs)
End With : .SendKeys "^r" End With
Можно, конечно, и кнопками:

Код: Выделить всё

TOTALCMD#BAR#DATA
nircmd.exe execmd
set "P=%P"&&call md "%P%%P::=%%"&&nircmd.exe sendkeypress ctrl+r
wcmicons.dll,78
Продублировать цепочку активного каталога
%COMMANDER_PATH%\Utils\nircmd\

Код: Выделить всё

TOTALCMD#BAR#DATA
nircmd.exe execmd set "P=~$clipboard$"&&call md
"%P%%P::=%%"&&nircmd.exe sendkeypress ctrl+r
wcmicons.dll,77
Создать цепочку каталогов|из буфера в активной панели
%COMMANDER_PATH%\Utils\nircmd\
Последний раз редактировалось Flasher Вс янв 01, 2017 23:08, всего редактировалось 1 раз.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Сообщение Dimsok »

Пойдёт, спасибо.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Заголовок темы заменён более точным.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Ответить