Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] как добавить описание к файлу из контекстного меню

Ответить
Настройки темы
VBS/WSH/JS - [решено] как добавить описание к файлу из контекстного меню

Ветеран


Сообщения: 1274
Благодарности: 564


Конфигурация

Профиль | Отправить PM | Цитировать


нужен скрипт, при выполнении которого по правой клавише мыши из контекстного меню создается текстовый файл в который можно вставить описание и сохраняется с именем выделенного файла

Отправлено: 18:13, 18-03-2011

 

Аватара для Cortina

Новый участник


Сообщения: 27
Благодарности: 6

Профиль | Отправить PM | Цитировать


Обязательно скрипт? А программа FileNote (FileNote - добавляет пункт к контекстному меню, который позволяет создать текстовый файл с тем же именем, что и тот, который у Вас выделен. После этого автоматически открывает этот файл в Notepad для редактирования.) не пойдёт?

Отправлено: 01:17, 19-03-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 78
Благодарности: 23

Профиль | Отправить 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
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата:
' Отсекаем расширение

' Получить имя без расширения
OSArev, всегда хотел понять, почему люди, используя «Scripting.FileSystemObject», не используют его методы для выделения пути, имени и расширения файла?
Это сообщение посчитали полезным следующие участники:

Отправлено: 04:34, 19-03-2011 | #4


Пользователь


Сообщения: 78
Благодарности: 23

Профиль | Отправить PM | Цитировать


Цитата Iska:
OSArev, всегда хотел понять, почему люди, используя «Scripting.FileSystemObject »
Цитата OSArev:
работает с именами, содержащими не одну точку,
а также для расширений не равных трём символам. »
Цитата OSArev:
Если, кто знает, как добиться этого по другому, пожалуйста поделитесь »

Отправлено: 09:53, 19-03-2011 | #5


Пользователь


Сообщения: 78
Благодарности: 23

Профиль | Отправить PM | Цитировать


Цитата Iska:
почему люди, используя «Scripting.FileSystemObject», не используют его методы для выделения пути, имени и расширения файла? »
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
Благодарности: 8087

Профиль | Отправить PM | Цитировать


OSArev, угу.

И там же ещё:
читать дальше »
Код: Выделить весь код
fso.CreateTextFile(objFSO.BuildPath(PathName, Name & ".txt")
— не надо помнить о наличии или отсутствии завершающего слэша в «PathName».

«fso.GetAbsolutePathName()» позволяет смело использовать в аргументах скрипта относительные пути, наподобие:
Код: Выделить весь код
cscript.exe //nologo H:\sample\script.vbs ".\new\boot.ini" "..\..\0040\eject.txt"
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:36, 19-03-2011 | #7


Пользователь


Сообщения: 78
Благодарности: 23

Профиль | Отправить PM | Цитировать


Iska, спасибо! Ты подтолкнул меня в новую(нужную) сторону.

Отправлено: 12:40, 19-03-2011 | #8


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


OSArev, дело в том, что FileNote создает текстовик в стандартном блокноте, а у меня стоит AkelPad и хочется чтобы в нем, сохранять быстрее, в нем мышь по умолчанию становится на кнопку "ок", а в блокноте нет, да и не хочу вообще его видеть. После сохранения уже, правда, открывается в AkelPad. Не видит почему-то FileNote AkelPad, в DLL посмотрел - нет там возможности изменить путь - это и есть проблема моя, а еще хочется чтобы можно было добавить описание и папкам, если бы эта программа была exeшником я бы это сделал в конт. меню, а так, кроме DLLки нет ничего, я же к ней путь не укажу, толку с того, сам скрипт нужен.

Отправлено: 13:43, 21-03-2011 | #9


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


alpap, Вы не рассматривали вопрос о переходе к работе с каким-либо файловым менеджером, где, как правило, сие давно реализовано («Ctrl-Z» в Far Manager и в TotalCommander)?
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:50, 21-03-2011 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] как добавить описание к файлу из контекстного меню

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход