создание из контекстного меню
Цитата: Валерий от 16.01.2024, 10:22Всем привет. В свое время, добрые люди помогли, мож сгодится
-папочку создать с именем из буфера обмена
[spoiler title="реестр"]
[HKEY_CLASSES_ROOT\Directory\Background\shell\newfolder] @="папочку" "Position"="top" "Icon"="shell32.dll,247" [HKEY_CLASSES_ROOT\Directory\Background\shell\newfolder\command] @="wscript.exe \"C:\\script\\newfolder.vbs\""
[/spoiler]
[spoiler title="скрипт"]
On Error Resume Next Set WSS = CreateObject("WScript.Shell") R = "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\1407" A = WSS.RegRead(R) : If A > 1 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 = Trim(.Execute(Clip)(0).SubMatches(0)) End With : If Len(Name) = 0 Then WSH.Quit For i = 0 To 9 : Name = Replace(Name, S(i), ChrW(R(i))) : Next CreateObject("Shell.Application").NameSpace(WSS.CurrentDirectory).NewFolder Name WSS.SendKeys "^r"
[/spoiler]
-создать текстовый док с текстом внутри из буфера обмена, без открытия(он же добавляет текст в этот же док)
[spoiler title="реестр"]
[HKEY_CLASSES_ROOT\Directory\Background\shell\textstext] @="текстовый с текстом" "Position"="" [HKEY_CLASSES_ROOT\Directory\Background\shell\textstext\command] @="wscript.exe \"C:\\script\\textstext.vbs\""
[/spoiler]
[spoiler title="скрипт"]
Option Explicit Dim strClipboardContent Dim strSourceFile With WScript.CreateObject("Scripting.FileSystemObject") strClipboardContent = Trim(WScript.CreateObject("htmlfile").parentWindow.clipboardData.getData("text")) If StrComp(.GetExtensionName(strClipboardContent), "txt", vbTextCompare) = 0 Then strSourceFile = .GetAbsolutePathName(strClipboardContent) Else strSourceFile = .GetAbsolutePathName(strClipboardContent & ".txt") End If If Not .FileExists(strSourceFile) Then With .CreateTextFile(strSourceFile) .Close End With Else WScript.Echo "Source file [" & strSourceFile & "] already exists." WScript.Quit 1 End If End With WScript.Quit 0
[/spoiler]
Всем привет. В свое время, добрые люди помогли, мож сгодится
-папочку создать с именем из буфера обмена
[HKEY_CLASSES_ROOT\Directory\Background\shell\newfolder] @="папочку" "Position"="top" "Icon"="shell32.dll,247" [HKEY_CLASSES_ROOT\Directory\Background\shell\newfolder\command] @="wscript.exe \"C:\\script\\newfolder.vbs\""
On Error Resume Next
Set WSS = CreateObject("WScript.Shell")
R = "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\1407"
A = WSS.RegRead(R) : If A > 1 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 = Trim(.Execute(Clip)(0).SubMatches(0))
End With : If Len(Name) = 0 Then WSH.Quit
For i = 0 To 9 : Name = Replace(Name, S(i), ChrW(R(i))) : Next
CreateObject("Shell.Application").NameSpace(WSS.CurrentDirectory).NewFolder Name
WSS.SendKeys "^r"
-создать текстовый док с текстом внутри из буфера обмена, без открытия(он же добавляет текст в этот же док)
[HKEY_CLASSES_ROOT\Directory\Background\shell\textstext] @="текстовый с текстом" "Position"="" [HKEY_CLASSES_ROOT\Directory\Background\shell\textstext\command] @="wscript.exe \"C:\\script\\textstext.vbs\""
Option Explicit
Dim strClipboardContent
Dim strSourceFile
With WScript.CreateObject("Scripting.FileSystemObject")
strClipboardContent = Trim(WScript.CreateObject("htmlfile").parentWindow.clipboardData.getData("text"))
If StrComp(.GetExtensionName(strClipboardContent), "txt", vbTextCompare) = 0 Then
strSourceFile = .GetAbsolutePathName(strClipboardContent)
Else
strSourceFile = .GetAbsolutePathName(strClipboardContent & ".txt")
End If
If Not .FileExists(strSourceFile) Then
With .CreateTextFile(strSourceFile)
.Close
End With
Else
WScript.Echo "Source file [" & strSourceFile & "] already exists."
WScript.Quit 1
End If
End With
WScript.Quit 0
Цитата: Илья от 27.05.2024, 13:41Доброго времени суток! Подскажите пожалуйста, почему-то не создается текст в текстовом файле и не вносятся изменения в реестр...
Доброго времени суток! Подскажите пожалуйста, почему-то не создается текст в текстовом файле и не вносятся изменения в реестр...
Цитата: Валерий от 14.07.2024, 06:18Доброго дня Илья!
сори, что поздно, не был.[spoiler title="правильный скрипт"][/spoiler]
если не создается в реестре можно руками прописать, измените путь где у Вас скрипт
Доброго дня Илья!
сори, что поздно, не был.
правильный скрипт
если не создается в реестре можно руками прописать, измените путь где у Вас скрипт
Цитата: Валерий от 14.07.2024, 07:13Доброго дня Илья! мой косяк,почему то не тот скрипт, извините
вот правильный:
clipboard = CreateObject("HTMLFile").parentWindow.clipboardData.getData("text") file = left(ScriptPath, instrrev(ScriptPath, "\")) & "file.txt" '8 - дозапись, True - создавать, если set oFile = CreateObject("Scripting.FileSystemObject").OpenTextFile(file, 8, True) ofile.WriteLine(clipboard) ofile.CloseВ реестре посмотрите пути, скрин
Скрипт в первом сообщении, для создания текстового документа с именем из буфера обмена. Исправьте пожалуйста, и сообщение выше удалите - не смог отредактировать
Доброго дня Илья! мой косяк,почему то не тот скрипт, извините
вот правильный:
clipboard = CreateObject("HTMLFile").parentWindow.clipboardData.getData("text")
file = left(ScriptPath, instrrev(ScriptPath, "\")) & "file.txt"
'8 - дозапись, True - создавать, если
set oFile = CreateObject("Scripting.FileSystemObject").OpenTextFile(file, 8, True)
ofile.WriteLine(clipboard)
ofile.Close
В реестре посмотрите пути, скрин
Скрипт в первом сообщении, для создания текстового документа с именем из буфера обмена. Исправьте пожалуйста, и сообщение выше удалите - не смог отредактировать
Цитата: Валерий от 14.07.2024, 08:38Илья, предложение как образец, вот механизм создания пункта в контекстном меню:
нужно создать где то папку для скрипта(например у меня- C:\Users\vasilek\Documents\script), создать сам скрипт textstext.vbs с приложенным кодом внутри и положить в эту папку, далее создать батник с приложенным кодом изменив путь на свой -запустить, -либо прописать руками в реестре.
Илья, предложение как образец, вот механизм создания пункта в контекстном меню:
нужно создать где то папку для скрипта(например у меня- C:\Users\vasilek\Documents\script), создать сам скрипт textstext.vbs с приложенным кодом внутри и положить в эту папку, далее создать батник с приложенным кодом изменив путь на свой -запустить, -либо прописать руками в реестре.
Цитата: Имир от 07.04.2025, 04:19Всем привет! Спасибо за интересную и полезную функцию контекстного меню. А можно сделать скрипт, который создаёт файл png и вставляет в него картинку из буфера обмена?
Всем привет! Спасибо за интересную и полезную функцию контекстного меню. А можно сделать скрипт, который создаёт файл png и вставляет в него картинку из буфера обмена?
Цитата: 𝐓𝐇𝐎𝐑𝐭𝐢𝐤 от 08.04.2025, 00:00Цитата: Имир от 07.04.2025, 04:19Всем привет! Спасибо за интересную и полезную функцию контекстного меню. А можно сделать скрипт, который создаёт файл png и вставляет в него картинку из буфера обмена?
Привет. Держи:
1. Закинь файл скрипта в C:\Windows
2. Запусти файл добавления в контекстное меню.
3. Копируй в буфер картинку ➜ запуск скрипта из к.меню ➜ файл png на рабочем столе.
Цитата: Имир от 07.04.2025, 04:19Всем привет! Спасибо за интересную и полезную функцию контекстного меню. А можно сделать скрипт, который создаёт файл png и вставляет в него картинку из буфера обмена?
Привет. Держи:
1. Закинь файл скрипта в C:\Windows
2. Запусти файл добавления в контекстное меню.
3. Копируй в буфер картинку ➜ запуск скрипта из к.меню ➜ файл png на рабочем столе.
Цитата: Имир от 08.04.2025, 22:17Добрый вечер! Чрезвычайно Вам признателен! Всё работает!
Цитата: 𝐓𝐇𝐎𝐑𝐭𝐢𝐤 от 08.04.2025, 00:00Цитата: Имир от 07.04.2025, 04:19Всем привет! Спасибо за интересную и полезную функцию контекстного меню. А можно сделать скрипт, который создаёт файл png и вставляет в него картинку из буфера обмена?
Привет. Держи:
1. Закинь файл скрипта в C:\Windows
2. Запусти файл добавления в контекстное меню.
3. Копируй в буфер картинку ➜ запуск скрипта из к.меню ➜ файл png на рабочем столе.
Добрый вечер! Чрезвычайно Вам признателен! Всё работает!
Цитата: 𝐓𝐇𝐎𝐑𝐭𝐢𝐤 от 08.04.2025, 00:00Цитата: Имир от 07.04.2025, 04:19Всем привет! Спасибо за интересную и полезную функцию контекстного меню. А можно сделать скрипт, который создаёт файл png и вставляет в него картинку из буфера обмена?
Привет. Держи:
1. Закинь файл скрипта в C:\Windows
2. Запусти файл добавления в контекстное меню.
3. Копируй в буфер картинку ➜ запуск скрипта из к.меню ➜ файл png на рабочем столе.