Войти

Показать полную графическую версию : [решено] Объединить два скрипта VBScript и JScript


denis19
19-12-2022, 22:15
Здравствуйте. Есть два скрипта, первый VBScript.vbs создаёт новый блокнот и вставляет в него только что скопированный текст. Скопировал - запустил - и у нас готовый блокнот с вставленным в него текстом из буфера обмена. Так же есть окошко для ввода имени новому блокноту.
И второй, это JScript.js. Он создаёт ярлык URL, но он создаёт URL с одним и тем же с адресом, который постоянно в скрипте, буфер обмена не задействован.
Можно ли их объединить или подправить один, чтоб было как и в первом, но только чтоб создавался уже URL с новой вставленной туда ссылкой, тоже из буфера обмена?
Скопировал ссылку - нажал - и у меня новый URL

Этот скрипт VBScript.vbs, создание блокнота со вставкой текста из буфера

Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
clipboard = CreateObject("HTMLFile").parentWindow.clipboardData.getData("text")
Randomize()
FileName=Inputbox("Введите имя:","Создание текстового документа.")
'Для кнопки Отмена или для пустого поля ввода
If FileName=Empty Then
WScript.Quit
End If
If FSO.FileExists(FileName & ".txt") Then
WScript.Quit 0
Else
End If
set oFile = CreateObject("Scripting.FileSystemObject").OpenTextFile("" & FileName & ".txt", 2, True)
ofile.WriteLine(clipboard)
ofile.Close

И второй, это JScript.js. Создаёт ярлык URL, адрес там постоянный

var Myshell = new ActiveXObject("WScript.Shell");
var mypath = Myshell.SpecialFolders("Desktop");
var myshortcut = Myshell.CreateShortcut(mypath + "\\МОЙ НОВЫЙ.url");
myshortcut.TargetPath = Myshell.ExpandEnvironmentStrings("http://www.oszone.net/")
myshortcut.Save();

Serguei Kouzmine
20-12-2022, 04:52
перепишите джаваскрипт кусок на вбскрипт

DJ Mogarych
20-12-2022, 08:57
А лучше напишите поточнее, что вы хотите получить, с примером. На Powershell это будет две с половиной строки.

megaloman
20-12-2022, 09:07
clipboard = CreateObject("HTMLFile").parentWindow.clipboardData.GetData("text")
Filename = InputBox("Введите имя:", "Создание текстового документа.")
If Filename = Empty Then WScript.Quit

With CreateObject("Scripting.FileSystemObject")
If .FileExists(Filename + ".txt") Then WScript.Quit 0
With .OpenTextFile(Filename + ".txt", 2, True)
.WriteLine (clipboard)
.Close
End With
End With

With CreateObject("WScript.Shell")
Set myshortcut = .CreateShortcut(.SpecialFolders("Desktop") + "\" + Filename + ".txt.url")
myshortcut.TargetPath = .ExpandEnvironmentStrings(clipboard)
myshortcut.Save
End With

denis19
20-12-2022, 12:46
напишите поточнее, что вы хотите получить »
Как и в первом скрипте создания блокнота, только создаваться уже будет не блокнот, а ярлык URL, уже буду копировать не обычный текст, а ссылку. Скопировал ссылку - запустил - и у нас готовый ярлык URL с вставленным в него адресом из буфера обмена.
Ответ у megaloman, всё хорошо работает.

Filename + ".txt.url" »
Спасибо, всё работает. Только маленький вопрос, у созданного ярлыка расширение как у блокнота .txt, это так и должно быть?

megaloman
20-12-2022, 13:38
у созданного ярлыка расширение как у блокнота .txt, это так и должно быть? »
Вообще-то расширение url, txt в названии ярлыка. Не нравится, сделайте Set myshortcut = .CreateShortcut(.SpecialFolders("Desktop") + "\" + Filename + ".url")Или придумайте любое другое название ярлыка вместо определённого в переменной Filename

denis19
20-12-2022, 13:50
Тьфу, извиняюсь, я поторопился. Сейчас только заметил что при вставке обычного текста создаётся и блокнот тоже, это очень удобно одним скриптом делать и ярлык и блокнот. Но только при вставке текста хоть и создаётся, но всплывает окно с ошибкой, можно ли это исправить? Было бы супер, скрипт как два в одном.

megaloman
20-12-2022, 18:21
Если в буфере не ссылка, иконка не должна создаваться?clipboard = CreateObject("HTMLFile").parentWindow.clipboardData.GetData("text")
Filename = InputBox("Введите имя:", "Создание текстового документа.")
If Filename = Empty Then WScript.Quit

With CreateObject("Scripting.FileSystemObject")
If .FileExists(Filename + ".txt") Then WScript.Quit 0
With .OpenTextFile(Filename + ".txt", 2, True)
.WriteLine (clipboard)
.Close
End With
End With

On Error Resume Next
With CreateObject("WScript.Shell")
Set myshortcut = .CreateShortcut(.SpecialFolders("Desktop") + "\" + Filename + ".url")
myshortcut.TargetPath = .ExpandEnvironmentStrings(clipboard)
myshortcut.Save
End With
On Error GoTo 0

denis19
20-12-2022, 19:56
иконка не должна создаваться? »
Так у блокнота она же всегда есть, своя. Но сейчас проблема в другом, они рабочем столе почему то создаются скрытыми, новые файлы видно если только рабочий стол просматривать из какой то папки, это слева через область переходов. Но там мне непонятно, заглянул в свойства файла, галочки что он скрытый или только чтение там не стоят. Так же параметрах папок скрытие отключено. Не знаю почему скрыты. Постоянно они видны становятся только если проводник перезапущу.

denis19
29-12-2022, 02:05
Если в буфере не ссылка, иконка не должна создаваться? »
Здравствуйте ещё раз. Кнопку сделал в контекстном меню, пытаясь делать ярлык в какой нибудь папке, но он всегда создаётся только на рабочем столе. Можно ли сделать чтоб создавалось везде?




© OSzone.net 2001-2012