|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] как добавить описание к файлу из контекстного меню |
|
|
VBS/WSH/JS - [решено] как добавить описание к файлу из контекстного меню
|
Ветеран Сообщения: 1274 |
нужен скрипт, при выполнении которого по правой клавише мыши из контекстного меню создается текстовый файл в который можно вставить описание и сохраняется с именем выделенного файла
|
|
Отправлено: 18:13, 18-03-2011 |
![]() Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Обязательно скрипт? А программа FileNote (FileNote - добавляет пункт к контекстному меню, который позволяет создать текстовый файл с тем же именем, что и тот, который у Вас выделен. После этого автоматически открывает этот файл в Notepad для редактирования.) не пойдёт?
|
Отправлено: 01:17, 19-03-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 78
|
Профиль | Отправить PM | Цитировать alpap , почему бы тебе не воспользоватся рекомендацией Cortina ?
Надеюсь, что тебе просто интересно как это на VBS, поэтому держи...Подправишь сам. У меня длинновато получилось ,но зато работает с именами, содержащими не одну точку, а также для расширений не равных трём символам. Если, кто знает, как добиться этого по другому, пожалуйста поделитесь. '------------------------------------------------------------------------- ' Определение полного имени If WScript.Arguments.Count = 1 Then sFile = WScript.Arguments.Item(0) Set fso = CreateObject("Scripting.FileSystemObject") End If '------------------ ' короткое имя Filespec =sfile Set fso = CreateObject( "Scripting.FileSystemObject" ) Set file = fso.GetFile(fileSpec) '---------------------------------------------- ' Извлекаем расширение, можно будет добавлять по желанию. Dim i, k, m, sym, Ext For k = 0 To Len(SFile) sym = Mid(SFile,Len(SFile) - k,1) If sym = "." Then m = Len(SFile) - k + 1 k = Len(SFile) end if Next Ext = "" For i = m To Len(SFile) Ext = Ext & Mid(SFile,i,1) Next '------------------ ' Отсекаем расширение ' Узнаём последнюю "." S = file.ShortName position = InStrRev(s,".") ' ---------------------- ' Получить имя без расширения str = file.ShortName intCharacters = position strNew = Left(str, intCharacters) '------------------------------------- ' Можно отсеч последнюю точку, может надо будет... 'str1 = strNew 'intLength = Len(str1) 'intCharacters = intLength - 1 'strNew1 = Left(str1, intCharacters) '---------------------------------- ' узнаём путь к папке FullPath = fileSpec Dummy = Split(FullPath, "\") JustFile = Dummy(UBound(Dummy)) JustPath = Left(FullPath, Len(FullPath) - Len(JustFile)) '--------------------------------------------- ' Создаём fso.CreateTextFile(JustPath & strnew & "txt") |
Отправлено: 01:39, 19-03-2011 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата:
|
|
Отправлено: 04:34, 19-03-2011 | #4 |
Пользователь Сообщения: 78
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 09:53, 19-03-2011 | #5 |
Пользователь Сообщения: 78
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Set FSO = CreateObject("Scripting.FileSystemObject") '-------------------------------------------------------------------- ' Определение полного имени If WScript.Arguments.Count = 1 Then sFile = WScript.Arguments.Item(0) Set fso = CreateObject("Scripting.FileSystemObject") End If '---------------------------------------- 'Короткое имя, без расширения Name = FSO.GetBaseName(sFile) '------------------------------------------------ 'Путь для создания PathName = FSO.GetParentFolderName(sFile) '------------------------------------------------------------ 'Создание fso.CreateTextFile(PathName & "\" & Name & ".txt") |
|
Последний раз редактировалось OSArev, 19-03-2011 в 11:04. Отправлено: 10:52, 19-03-2011 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 11:36, 19-03-2011 | #7 |
Пользователь Сообщения: 78
|
Профиль | Отправить PM | Цитировать Iska, спасибо! Ты подтолкнул меня в новую(нужную) сторону.
|
Отправлено: 12:40, 19-03-2011 | #8 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать OSArev, дело в том, что FileNote создает текстовик в стандартном блокноте, а у меня стоит AkelPad и хочется чтобы в нем, сохранять быстрее, в нем мышь по умолчанию становится на кнопку "ок", а в блокноте нет, да и не хочу вообще его видеть. После сохранения уже, правда, открывается в AkelPad. Не видит почему-то FileNote AkelPad, в DLL посмотрел - нет там возможности изменить путь - это и есть проблема моя, а еще хочется чтобы можно было добавить описание и папкам, если бы эта программа была exeшником я бы это сделал в конт. меню, а так, кроме DLLки нет ничего, я же к ней путь не укажу, толку с того, сам скрипт нужен.
|
Отправлено: 13:43, 21-03-2011 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать alpap, Вы не рассматривали вопрос о переходе к работе с каким-либо файловым менеджером, где, как правило, сие давно реализовано («Ctrl-Z» в Far Manager и в TotalCommander)?
|
Отправлено: 18:50, 21-03-2011 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - [решено] добавить описание к файлу из контекстного меню | alpap | Хочу все знать | 22 | 23-07-2018 22:59 | |
Интерфейс - [решено] Как сделать скриншот контекстного меню? | studentandr | Microsoft Windows 2000/XP | 8 | 23-04-2014 10:04 | |
Блог - Как добавить раскрывающееся меню в контекстное меню рабочего стола и компьютера | Vadikan | Microsoft Windows 7 | 7 | 13-12-2010 17:43 | |
[решено] Как убрать одинаковые ярлыки из контекстного меню? | Moandor | Microsoft Windows 95/98/Me (архив) | 2 | 10-12-2009 11:58 | |
Разное - [решено] Как удалить из контекстного меню | olezhka34 | Microsoft Windows 2000/XP | 2 | 25-09-2008 21:00 |
|