Страница 1 из 2
Создать по тексту буфера папку с первой строкой и TXT-файл
Добавлено: Вс янв 22, 2017 20:05
sibirnik
Нужна кнопка для выполнения задачи:
Создать в активной панели каталог с именем из первой строки текста в буфере обмена и в этом каталоге создать описание с текстом из буфера обмена. Открывать каталог не надо. Готовых решений не нашёл. Спасибо.
Добавлено: Вс янв 22, 2017 20:13
Flasher
Было кое-что
очень похожее.
Можно было и
тут спросить.
Добавлено: Вс янв 22, 2017 20:34
sibirnik
По первой ссылке - каталог создаётся, но в нём нет файла описания из буфера обмена - может можно добавить в этот скрипт, чтобы описание добавлялось.. По второй ссылке пока ничего не понял, но вроде нухного для меня нет.
И ещё, если можно, то чтобы автоматом бралась первая строка без потверждения ввода строки, так как она всегда первая(имя) у меня.
Добавлено: Вс янв 22, 2017 20:42
Flasher
Я же пишу - похожее. Либо пустая папка либо файл с описанием. См. параметры.
Вторая ссылка - это тема, где следовало спросить, ибо там подобное и обсуждалось.
P.S.: Без цитаты предыдущего поста, полагаю, обойтись можно было? (рит.)
Добавлено: Вс янв 22, 2017 20:45
sibirnik
Flasher
Откуда я знал что можно ТУТ, там тема вроде не похожая. Перенесите туда если можете(я не знаю как). Но просьба о помощи остаётся, так как готового решения пока нет. Я не силён в написании скриптов и параметрах ничего не понимаю. Мне бы готовое решение.
R.S. И ещё каталог создаётся там же где и скрипт, а надо в активной панели.
Добавлено: Вс янв 22, 2017 21:01
Flasher
sibirnik писал(а):и параметрах ничего не понимаю
Вопрос памятки мы
разбирали. Я не могу каждому повторять по множеству раз одни и те же прописные истины. Прочтите ещё раз, коли всё забыто.
Добавлено: Вс янв 22, 2017 21:09
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
Добавлено: Вс янв 22, 2017 21:15
Flasher
К памятке послали, потому что то, что я сейчас вижу, с ней не коррелирует.
То, что приведено, - это никакие не параметры кнопки, а данные TC и системы. Script Helper также тут указан совершенно ни к месту.
Основная задача скрипта - создавать файл. Создание папки - это побочная опция.
Добавлено: Вс янв 22, 2017 21:21
sibirnik
Flasher
не коррелирует - это что означает? Не понимаю. Я и не просил создавать файл. Я просил, то, что написано вверху. Повторюсь готового решения кнопки я не нашёл и прошу помощи - помочь сделать нужную мне кнопку.. Люди добрые помогите, кто может.Спасибо.
R.S. А в параметрах кнопки по скрипту указанному Вами, строчка с параметром пустая.
Добавлено: Вс янв 22, 2017 21:24
Flasher
Коррелирует.
sibirnik писал(а):Я и не просил создавать файл.
>>
sibirnik писал(а):в этом каталоге создать описание с текстом из буфера обмена.
...
в нём нет файла описания из буфера обмена
А что понимается под описанием? Правка descript.ion?
Добавлено: Вс янв 22, 2017 21:33
sibirnik
Flasher
Коррелирует. Уж извините, но это не для моих мозгов. Я не понял, что это! Даже прочитав по вашей ссылке. Под описанием понимается - файл Read_Me.txt - с текстом из буфера обмена. Подробнее: взяли имя из первой строки текста - присвоили каталогу - создали каталог и в нём файл с текстовым файлом из буфера обмена. Можно этэт файл обозвать по имени каталога.
R.S. Условие: путь запуска в кнопке/пользовательской команде - пустой
- это я сделал...теперь создает там где мне надо, но без описания.
Добавлено: Вс янв 22, 2017 21:41
Flasher
sibirnik
Т.е. в итоге "просил".

Я к тому веду, что можно хотя бы воспользоваться имеющимся скриптом с созданием файла после создания им же папки. Пусть не в один проход, но уже решение.
Сделать я, конечно, сделаю, но опять же, если не научиться разбираться в том, что написано в памятке (шапке, параметрах и т.д.), то толку от этого будет ровно столько же, т.е. никакого.
Добавлено: Вс янв 22, 2017 21:47
sibirnik
Flasher
Извините! В моём возрасте и с проблемами в здоровье сложно учиться, но я пытаюсь и очень благодарен людям за помощь, которую они мне оказывают. Если можете - то помогите.
Добавлено: Вс янв 22, 2017 22:49
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
Добавлено: Пн янв 23, 2017 03:27
sibirnik
Flasher
Спасибо огромное! Всё заработало так, как мне нужно.