Создать по тексту буфера папку с первой строкой и TXT-файл

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

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

sibirnik
Сообщения: 84
Зарегистрирован: Вт июн 07, 2016 07:33

Создать по тексту буфера папку с первой строкой и TXT-файл

Сообщение sibirnik »

Нужна кнопка для выполнения задачи:
Создать в активной панели каталог с именем из первой строки текста в буфере обмена и в этом каталоге создать описание с текстом из буфера обмена. Открывать каталог не надо. Готовых решений не нашёл. Спасибо.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Было кое-что очень похожее.
Можно было и тут спросить.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sibirnik
Сообщения: 84
Зарегистрирован: Вт июн 07, 2016 07:33

Сообщение sibirnik »

Flasher писал(а):Было кое-что очень похожее.
Можно было и тут спросить.
По первой ссылке - каталог создаётся, но в нём нет файла описания из буфера обмена - может можно добавить в этот скрипт, чтобы описание добавлялось.. По второй ссылке пока ничего не понял, но вроде нухного для меня нет.
И ещё, если можно, то чтобы автоматом бралась первая строка без потверждения ввода строки, так как она всегда первая(имя) у меня.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Я же пишу - похожее. Либо пустая папка либо файл с описанием. См. параметры.
Вторая ссылка - это тема, где следовало спросить, ибо там подобное и обсуждалось.

P.S.: Без цитаты предыдущего поста, полагаю, обойтись можно было? (рит.)
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sibirnik
Сообщения: 84
Зарегистрирован: Вт июн 07, 2016 07:33

Сообщение sibirnik »

Flasher
Откуда я знал что можно ТУТ, там тема вроде не похожая. Перенесите туда если можете(я не знаю как). Но просьба о помощи остаётся, так как готового решения пока нет. Я не силён в написании скриптов и параметрах ничего не понимаю. Мне бы готовое решение.
R.S. И ещё каталог создаётся там же где и скрипт, а надо в активной панели.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

sibirnik писал(а):и параметрах ничего не понимаю
Вопрос памятки мы разбирали. Я не могу каждому повторять по множеству раз одни и те же прописные истины. Прочтите ещё раз, коли всё забыто.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sibirnik
Сообщения: 84
Зарегистрирован: Вт июн 07, 2016 07:33

Сообщение sibirnik »

От меня то сейчас, что нужно, я не понял.? Зачем меня опять послали к памятке.?
Скрипт работает, но не выполняет,то, что мне нужно.
Каталог создаётся, но без описания и не там где надо.
Параметры кнопки
TC, версия 9.0a RC3 32 bit
Windows 7 32bit
Script Helper ActiveX for TC
V.b12
Microsoft ® Windows Script Host
V.5.8.7600.16385
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

К памятке послали, потому что то, что я сейчас вижу, с ней не коррелирует.
То, что приведено, - это никакие не параметры кнопки, а данные TC и системы. Script Helper также тут указан совершенно ни к месту.
Основная задача скрипта - создавать файл. Создание папки - это побочная опция.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sibirnik
Сообщения: 84
Зарегистрирован: Вт июн 07, 2016 07:33

Сообщение sibirnik »

Flasher
не коррелирует - это что означает? Не понимаю. Я и не просил создавать файл. Я просил, то, что написано вверху. Повторюсь готового решения кнопки я не нашёл и прошу помощи - помочь сделать нужную мне кнопку.. Люди добрые помогите, кто может.Спасибо.
R.S. А в параметрах кнопки по скрипту указанному Вами, строчка с параметром пустая.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Коррелирует.
sibirnik писал(а):Я и не просил создавать файл.
>>
sibirnik писал(а):в этом каталоге создать описание с текстом из буфера обмена.
...
в нём нет файла описания из буфера обмена
А что понимается под описанием? Правка descript.ion?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sibirnik
Сообщения: 84
Зарегистрирован: Вт июн 07, 2016 07:33

Сообщение sibirnik »

Flasher
Коррелирует. Уж извините, но это не для моих мозгов. Я не понял, что это! Даже прочитав по вашей ссылке. Под описанием понимается - файл Read_Me.txt - с текстом из буфера обмена. Подробнее: взяли имя из первой строки текста - присвоили каталогу - создали каталог и в нём файл с текстовым файлом из буфера обмена. Можно этэт файл обозвать по имени каталога.
R.S. Условие: путь запуска в кнопке/пользовательской команде - пустой
- это я сделал...теперь создает там где мне надо, но без описания.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

sibirnik
Т.е. в итоге "просил". :D
Я к тому веду, что можно хотя бы воспользоваться имеющимся скриптом с созданием файла после создания им же папки. Пусть не в один проход, но уже решение.

Сделать я, конечно, сделаю, но опять же, если не научиться разбираться в том, что написано в памятке (шапке, параметрах и т.д.), то толку от этого будет ровно столько же, т.е. никакого.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sibirnik
Сообщения: 84
Зарегистрирован: Вт июн 07, 2016 07:33

Сообщение sibirnik »

Flasher
Извините! В моём возрасте и с проблемами в здоровье сложно учиться, но я пытаюсь и очень благодарен людям за помощь, которую они мне оказывают. Если можете - то помогите.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

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

'=========================================================================
' Cоздание в активной панели папки и файла в ней с тем же именем, взятым
' из первой строки буфера обмена, и содержимым в нём текстом (при наличии)

' Параметры: "<путь назначения>" <расширение текстового файла>
' Пример:    "%P" txt
'=========================================================================
Set Par = WScript.Arguments
If Par.Count <> 2 Then MsgBox "Укажите 2 параметра!", 4144 : WSH.Quit
Set WSS = CreateObject("WScript.Shell")
R = "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\1407"
On Error Resume Next
A = WSS.RegRead(R) : If A > 0 Or Err.Number <> 0 Then WSS.RegWrite R, 0, "REG_DWORD"
Clip = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")
If A > 0 Then WSS.RegWrite R, A, "REG_DWORD"
On Error Goto 0
If IsNull(Clip) Or Trim(Clip) = "" Then WSH.Quit
R = Array(-230,-225,-246,698,894,-24,-24,-24,706,707)
S = Split(": ? * "" ; \ / | < >")
With New Regexp
  .Pattern = "^\s*([^\r\n]+)\s*" : Name = .Execute(Clip)(0).SubMatches(0)
  .Pattern = "[^ !-‚-›\u0080-\u00FF\u0400-\u04FF\u20A0-\u20CF\u2100-\u214F\w‘’–—]"
  .Global = True : If .Test(Clip) Then Enc = True Else Enc = False
End With : For i = 0 To 9 : Name = Replace(Name, S(i), ChrW(R(i))) : Next
With CreateObject("Scripting.FileSystemObject")
  Folder = .BuildPath(Par.Item(0), Name) & "\" : Ext = Par.Item(1)
  If Len(Folder) > 260 Then Folder = "\\?\" & Folder : T = 1
  If Not .FolderExists(Folder) Then .CreateFolder Folder
  F = Folder & .GetBaseName(Name) : FN = F & "." & Ext
  If T = "" And Len(FN) > 259 Then F = "\\?\" & F : FN = "\\?\" & FN
  While .FileExists(FN) Or .FolderExists(FN)
    i = i + 1 : FN = F & " (" & i & ")" & "." & Ext
  Wend : .CreateTextFile(FN,,Enc).Write Clip : WSS.SendKeys "^r"
End With
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sibirnik
Сообщения: 84
Зарегистрирован: Вт июн 07, 2016 07:33

Сообщение sibirnik »

Flasher
Спасибо огромное! Всё заработало так, как мне нужно.
Ответить