|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Создание Нового текстового документа через контекстное меню пкп |
|
|
Любой язык - Создание Нового текстового документа через контекстное меню пкп
|
Новый участник Сообщения: 19 |
Профиль | Отправить PM | Цитировать
Цель: В Windows 7 вынести создание Нового текстового документа из подменю команды Создать в основное контекстное меню пкм. Нужен тот же эффект, т.е. создаётся Новый текстовый документ с уже выделенным для переименования именем. Повторное создание документа получает название Новый текстовый документ (2) и т. д.
Пробовал прописывать в реестр: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\Background\shell\newtxtfile] "MUIVerb"="Создать текстовый файл" "Icon"="notepad.exe" [HKEY_CLASSES_ROOT\Directory\Background\shell\newtxtfile\command] @="cmd.exe /s /c pushd \"%V\" @echo >> Текст.txt" или создавать батник с последующим закреплением в контекстном меню пкм: chcp 1251 @echo off >> "Новый текстовый документ".txt Это было ближе, но не то, что хотелось бы в итоге получить. |
|
Отправлено: 11:33, 16-05-2013 |
Пользователь Сообщения: 78
|
Профиль | Отправить PM | Цитировать Так? Хотя на форуме есть подобные темы...
CreateObject.vbs Option Explicit Dim FSO, WshShell, objRegExp, sFile, PathName, i, strName, Ext, r Set FSO = CreateObject("Scripting.FileSystemObject") Set WshShell = CreateObject("WScript.Shell") Set objRegExp = new regexp Call CreateFile WScript.Quit 0 Function CreateFile Ext = ".txt" sFile = inputbox("Создание текстового документа." & vbCrLf & _ "При совпадении имён к имени будут добалены" & vbCrLf & _ "приставка ""копия"" и порядковый номер." & vbCrLf & vbCrLf & _ "ВВЕДИТЕ НАЗВАНИЕ:", "Создание текстового документа.", "Новый текстовый документ",000,000) If Len(sFile) = 0 Then sFile = WScript.Quit End If objRegExp.Pattern = "[\*\\\/\?\<\>\:\""\|]" If objRegExp.Test(sFile) Then R = MsgBox("ОШИБКА!!! " & vbCrLf & _ "Введены недопустимые символы в имени файла." & vbCrLf & _ "Попробуйте снова", 64+5 , "Создание текстового документа.") Select Case r Case vbRetry Call CreateFile Case vbCancel WScript.Quit End Select Else If WScript.Arguments.Count = 1 Then PathName = WScript.Arguments.Item(0) End if If not FSO.FileExists(PathName & "\" & sFile & Ext) Then fso.CreateTextFile(PathName & "\" & sFile & Ext) WshShell.Run("%windir%\notepad " & PathName & "\" & sFile & Ext) Else If not FSO.FileExists(PathName & "\" & sFile & " - копия" & Ext) Then fso.CreateTextFile(PathName & "\" & sFile & " - копия" & Ext) WshShell.Run("%windir%\notepad " & PathName & "\" & sFile & " - копия" & Ext) Else If FSO.FileExists(PathName & "\" & sFile & Ext) Then With FSO i = 0 Do i = i + 1 If i <> 0 Then strName = sFile & " - копия (" & CStr(i) & ")" & Ext If Not .FileExists(.BuildPath(PathName, strName)) Then fso.CreateTextFile(PathName & "\" & strName) WshShell.Run("%windir%\notepad " & PathName & "\" & strName) Exit Do End If Loop End With End if End If End If End If End Function Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\Background\shell\Новый текстовый документ] "icon"="C:\\Windows\\ТВОЯ_ПАПКА\\ТВОЯ_ИКОНКА.ico" [HKEY_CLASSES_ROOT\Directory\Background\shell\Новый текстовый документ\command] @="WScript C:\\Windows\\ТВОЯ_ПАПКА\\CreateObject.vbs \"%V\"" |
Отправлено: 23:06, 21-05-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 19
|
Профиль | Отправить PM | Цитировать Не так. Нужно как это делается в Windows по-умолчанию один в один, только не из подменю команды "Создать", а сразу через контекстное меню пкм.
|
Отправлено: 10:10, 22-05-2013 | #3 |
Пользователь Сообщения: 78
|
Профиль | Отправить PM | Цитировать Вы добавляли в реестр данные? Там как раз для правой кнопки мыши... А по поводу
Цитата Александр Котов:
|
|
Отправлено: 21:52, 22-05-2013 | #4 |
Новый участник Сообщения: 19
|
Профиль | Отправить PM | Цитировать Если бы знал, как допилить, не обращался бы к специалистам.
А предложеный вами скрипт создаёт файл аж в корневой папке диска. Тогда уж на крайняк лучше так: Dim FSO, MyFile Set FSO = CreateObject("Scripting.FileSystemObject") Set WshShell = WScript.CreateObject("WScript.Shell") FileName=Inputbox("Введите имя нового текстового документа После нажатия кнопки ОК документ сохранится в ЗАКРЫТОМ виде","Создание текстового документа.") 'Для кнопки Отмена или для пустого поля ввода If FileName=Empty Then WScript.Quit End If 'Проверка на существование файла и создание. 'Добавил открытие файла If FSO.FileExists(FileName & ".txt") Then WScript.Echo "Документ ''"& FileName & ".txt" & "'' - уже существует." WScript.Quit 0 Else fso.CreateTextFile(FileName & ".txt") End If или вот так: Dim FSO, MyFile Set FSO = CreateObject("Scripting.FileSystemObject") Set WshShell = WScript.CreateObject("WScript.Shell") FileName=Inputbox("Введите имя нового текстового документа После нажатия кнопки ОК документ сохранится в ОТКРЫТОМ виде для ввода текста","Создание текстового документа.") 'Для кнопки Отмена или для пустого поля ввода If FileName=Empty Then WScript.Quit End If 'Проверка на существование файла и создание. 'Добавил открытие файла If FSO.FileExists(FileName & ".txt") Then WScript.Echo "Документ ''"& FileName & ".txt" & "'' - уже существует." WshShell.Run("Explorer" &" " & FileName & ".txt") WScript.Quit 0 Else fso.CreateTextFile(FileName & ".txt") End If WshShell.Run("Explorer" &" " & FileName & ".txt") но это всё не один в один как в Windows, цель не достигнута. |
|
Отправлено: 00:14, 23-05-2013 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Александр Котов, Вам давно пора ознакомиться с тегами форума и, в особенности — с тэгом [code].
|
Отправлено: 00:20, 23-05-2013 | #6 |
Пользователь Сообщения: 78
|
Профиль | Отправить PM | Цитировать Все там работает, как надо. Проверьте пути, где лежит файл. Надо обязательно в папке Windows.
|
Отправлено: 06:53, 23-05-2013 | #7 |
Новый участник Сообщения: 19
|
Профиль | Отправить PM | Цитировать OSArev, может там все и работает, но ищется решение конкретной задачи, без похожих вариантов.
|
Отправлено: 09:52, 23-05-2013 | #8 |
Пользователь Сообщения: 78
|
Профиль | Отправить PM | Цитировать Цитата Александр Котов:
Вот пока без выделения Option Explicit Dim FSO, sFile, PathName, i, strName, Ext Set FSO = CreateObject("Scripting.FileSystemObject") Call CreateFile WScript.Quit 0 Function CreateFile Ext = ".txt" sFile = "Новый текстовый документ" If WScript.Arguments.Count = 1 Then PathName = WScript.Arguments.Item(0) End if If not FSO.FileExists(PathName & "\" & sFile & Ext) Then fso.CreateTextFile(PathName & "\" & sFile & Ext) Else If FSO.FileExists(PathName & "\" & sFile & Ext) Then With FSO i = 0 Do i = i + 1 If i <> 0 Then strName = sFile & " - копия (" & CStr(i) & ")" & Ext If Not .FileExists(.BuildPath(PathName, strName)) Then fso.CreateTextFile(PathName & "\" & strName) Exit Do End If Loop End With End if End If End Function |
|
Отправлено: 00:06, 24-05-2013 | #9 |
Новый участник Сообщения: 19
|
Профиль | Отправить PM | Цитировать OSArev, свои изыскания привёл выше (#5). Это всё, что есть.
|
Отправлено: 09:43, 25-05-2013 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интерфейс - [решено] Как сделать удаление файлов через контекстное меню без сохранения в карзине | lexx3d | Microsoft Windows 7 | 8 | 01-07-2012 09:07 | |
2010 - [решено] Word | Печать обычного текстового документа в виде книги | Ghost | Microsoft Office (Word, Excel, Outlook и т.д.) | 5 | 28-12-2010 10:09 | |
Как сделать отправку файлов по email через контекстное меню? | MzM NF | Программное обеспечение Windows | 0 | 19-09-2007 00:50 | |
Отправка файла по почте через контекстное меню | vagner_HATE | Microsoft Windows 2000/XP | 3 | 27-12-2005 16:02 | |
создание нового документа MS Word | Nodir Bek | Microsoft Windows 95/98/Me (архив) | 2 | 13-02-2004 10:45 |
|