Создать по тексту буфера папку с первой строкой и TXT-файл
Select messages from
# through # FAQ
[/[Print]\]
Goto page 1, 2  Next  :| |:
Total Commander -> Автоматизация Total Commander

#1: Создать по тексту буфера папку с первой строкой и TXT-файл Author: sibirnik PostPosted: Sun Jan 22, 2017 21:05
    —
Нужна кнопка для выполнения задачи:
Создать в активной панели каталог с именем из первой строки текста в буфере обмена и в этом каталоге создать описание с текстом из буфера обмена. Открывать каталог не надо. Готовых решений не нашёл. Спасибо.

#2:  Author: FlasherLocation: Москва PostPosted: Sun Jan 22, 2017 21:13
    —
Было кое-что очень похожее.
Можно было и тут спросить.

#3:  Author: sibirnik PostPosted: Sun Jan 22, 2017 21:34
    —
Flasher wrote:
Было кое-что очень похожее.
Можно было и тут спросить.

По первой ссылке - каталог создаётся, но в нём нет файла описания из буфера обмена - может можно добавить в этот скрипт, чтобы описание добавлялось.. По второй ссылке пока ничего не понял, но вроде нухного для меня нет.
И ещё, если можно, то чтобы автоматом бралась первая строка без потверждения ввода строки, так как она всегда первая(имя) у меня.

#4:  Author: FlasherLocation: Москва PostPosted: Sun Jan 22, 2017 21:42
    —
Я же пишу - похожее. Либо пустая папка либо файл с описанием. См. параметры.
Вторая ссылка - это тема, где следовало спросить, ибо там подобное и обсуждалось.

P.S.: Без цитаты предыдущего поста, полагаю, обойтись можно было? (рит.)

#5:  Author: sibirnik PostPosted: Sun Jan 22, 2017 21:45
    —
Flasher
Откуда я знал что можно ТУТ, там тема вроде не похожая. Перенесите туда если можете(я не знаю как). Но просьба о помощи остаётся, так как готового решения пока нет. Я не силён в написании скриптов и параметрах ничего не понимаю. Мне бы готовое решение.
R.S. И ещё каталог создаётся там же где и скрипт, а надо в активной панели.

#6:  Author: FlasherLocation: Москва PostPosted: Sun Jan 22, 2017 22:01
    —
sibirnik wrote:
и параметрах ничего не понимаю
Вопрос памятки мы разбирали. Я не могу каждому повторять по множеству раз одни и те же прописные истины. Прочтите ещё раз, коли всё забыто.

#7:  Author: sibirnik PostPosted: Sun Jan 22, 2017 22:09
    —
От меня то сейчас, что нужно, я не понял.? Зачем меня опять послали к памятке.?
Скрипт работает, но не выполняет,то, что мне нужно.
Каталог создаётся, но без описания и не там где надо.
Параметры кнопки
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

#8:  Author: FlasherLocation: Москва PostPosted: Sun Jan 22, 2017 22:15
    —
К памятке послали, потому что то, что я сейчас вижу, с ней не коррелирует.
То, что приведено, - это никакие не параметры кнопки, а данные TC и системы. Script Helper также тут указан совершенно ни к месту.
Основная задача скрипта - создавать файл. Создание папки - это побочная опция.

#9:  Author: sibirnik PostPosted: Sun Jan 22, 2017 22:21
    —
Flasher
не коррелирует - это что означает? Не понимаю. Я и не просил создавать файл. Я просил, то, что написано вверху. Повторюсь готового решения кнопки я не нашёл и прошу помощи - помочь сделать нужную мне кнопку.. Люди добрые помогите, кто может.Спасибо.
R.S. А в параметрах кнопки по скрипту указанному Вами, строчка с параметром пустая.

#10:  Author: FlasherLocation: Москва PostPosted: Sun Jan 22, 2017 22:24
    —
Коррелирует.

sibirnik wrote:
Я и не просил создавать файл.
>>
sibirnik wrote:
в этом каталоге создать описание с текстом из буфера обмена.
...
в нём нет файла описания из буфера обмена
А что понимается под описанием? Правка descript.ion?

#11:  Author: sibirnik PostPosted: Sun Jan 22, 2017 22:33
    —
Flasher
Коррелирует. Уж извините, но это не для моих мозгов. Я не понял, что это! Даже прочитав по вашей ссылке. Под описанием понимается - файл Read_Me.txt - с текстом из буфера обмена. Подробнее: взяли имя из первой строки текста - присвоили каталогу - создали каталог и в нём файл с текстовым файлом из буфера обмена. Можно этэт файл обозвать по имени каталога.
R.S. Условие: путь запуска в кнопке/пользовательской команде - пустой
- это я сделал...теперь создает там где мне надо, но без описания.

#12:  Author: FlasherLocation: Москва PostPosted: Sun Jan 22, 2017 22:41
    —
sibirnik
Т.е. в итоге "просил". Very Happy
Я к тому веду, что можно хотя бы воспользоваться имеющимся скриптом с созданием файла после создания им же папки. Пусть не в один проход, но уже решение.

Сделать я, конечно, сделаю, но опять же, если не научиться разбираться в том, что написано в памятке (шапке, параметрах и т.д.), то толку от этого будет ровно столько же, т.е. никакого.

#13:  Author: sibirnik PostPosted: Sun Jan 22, 2017 22:47
    —
Flasher
Извините! В моём возрасте и с проблемами в здоровье сложно учиться, но я пытаюсь и очень благодарен людям за помощь, которую они мне оказывают. Если можете - то помогите.

#14:  Author: FlasherLocation: Москва PostPosted: Sun Jan 22, 2017 23:49
    —
Code:
'=========================================================================
' 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

#15:  Author: sibirnik PostPosted: Mon Jan 23, 2017 04:27
    —
Flasher
Спасибо огромное! Всё заработало так, как мне нужно.



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page 1, 2  Next  :| |:
Page 1 of 2

Powered by phpBB © 2001, 2005 phpBB Group