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

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

Ответить
Настройки темы
VBS/WSH/JS - [решено] vbs скрипт - создание папки

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


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


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

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


здравствуйте
есть скрипт создания новой папки (нашел на данном форуме)
---
On Error Resume Next
Dim Message, fso, Text, FolderName, FileName, Title
Message = "Введите название:"
Title = "Создание папки"
'создаем объект FileSystemObject в переменную fso
Set fso = CreateObject("Scripting.FileSystemObject")
FolderName = InputBox(Message, Title)
Set Fldr = fso.CreateFolder ("" & FolderName)
---
есть расширение QTTabBar (панель, встраиваемая в Windows Explorer), в ней можно
создавать дополнительные кнопки
создаю кнопку (ссылающуюся на данный скрипт)
скрипт выполняется и создается папка в том каталоге в котором находится данный
скрипт
задача
изменить / дополнить скрипт так, чтобы папка создавалась в каталоге из которого он
вызван (кнопкой QTTabBar)
и, чтобы за тем созданный каталог был выделен в Windows Explorer
возможно ли данное решение?
если можно, подскажите аналогичный скрипт для создания текстового файла
заранее благодарен за помощь

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

 

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


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

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


Цитата balzaman:
чтобы папка создавалась в каталоге из которого он
вызван (кнопкой QTTabBar) »
, насчёт этого не знаю, а для
Цитата balzaman:
чтобы папка создавалась в каталоге из которого он
вызван »
, сейчас проверил: скрипт лежит на Столе, а вызывал из другой папки - создаёт папку в папке из которой вызывался.
Вот немного расширенный скрипт:
Код: Выделить весь код
Option Explicit
Dim objFSO, objFolder, objShell, strDirectory 
strDirectory = InputBox("Ввести название папки:", "Создание папки.") 
'Для кнопки Отмена или для пустого поля ввода
 If strDirectory=Empty Then
   WScript.Quit
 End If

Set objFSO = CreateObject("Scripting.FileSystemObject") 
'Проверка на существование папки и создание.
'Добавил открытие папки
If objFSO.FolderExists(strDirectory) Then 
Set objFolder = objFSO.GetFolder(strDirectory) 
WScript.Echo "Папка  ''"& strDirectory &"''  уже создана " 
Else
Set objFolder = objFSO.CreateFolder(strDirectory) 
'WScript.Echo "Вновь созданная папка ''"& strDirectory &"''."
End If

If err.number = vbEmpty then 
Set objShell = CreateObject("WScript.Shell") 
objShell.run ("Explorer" &" " & strDirectory & "\" ) 
Else 
WScript.echo "Ошибка vbscript: " & err.number 
End If 

WScript.Quit
Цитата balzaman:
аналогичный скрипт для создания текстового файла »
Код: Выделить весь код
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")
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:31, 23-03-2011 | #2



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

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


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


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

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


Цитата OSArev:
, сейчас проверил: скрипт лежит на Столе, а вызывал из другой папки - создаёт папку в папке из которой вызывался. »
спасибо!
всё работает супер, но...
объекты создаются в каталоге, в котором они расположены
например скрипт лежит на рабочем столе, открываем какую либо папку, создаем в ней ярлык на данный скрипт, запускаем - итог, объект создан на рабочем столе, а не в папке из которой он вызван
а нужно именно данное действие (создание объекта в папке вызова)
сторку созания текстового файла
WshShell.Run("Explorer" &" " & FileName & ".txt") подправил на
WshShell.Run("Notepad" &" " & FileName & ".txt")
и еще нюанс
как изменить скрипт, чтобы объект создавался в каталоге вызова (ярлыком) и был просто выделен, а не открыт

Отправлено: 10:38, 24-03-2011 | #3


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


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

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


А из контекстного меню?
Если Windows 7 можно из контекстного меню. Reg-файл для папки
Код: Выделить весь код
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\Новая папка]

[HKEY_CLASSES_ROOT\Directory\Background\shell\Новая папка\command]
@="WScript C:\\Users\\999\\Desktop\\001.vbs \"%V\""
Путь укажи свой.
Цитата balzaman:
как изменить скрипт, чтобы объект создавался в каталоге вызова (ярлыком) »
1.Делаешь ярлык.
2.Пр.кнопка => Свойства.
3.В строке быстрый вызов указываешь путь до папки исполнения.
Например: D:\
4.Применить и ОК
Цитата balzaman:
был просто выделен, а не открыт »
Я понял не нужно. чтобы при создании объект открывался?
Тогда удали строчки
Код: Выделить весь код
If err.number = vbEmpty then 
Set objShell = CreateObject("WScript.Shell") 
objShell.run ("Explorer" &" " & strDirectory & "\" ) 
Else 
WScript.echo "Ошибка vbscript: " & err.number 
End If
для папки и
Код: Выделить весь код
Set WshShell = WScript.CreateObject("WScript.Shell")
и
WshShell.Run("Explorer" &" " & FileName & ".txt")
для файла.
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:31, 24-03-2011 | #4


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


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

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


Цитата OSArev:
Если Windows 7 можно из контекстного меню. Reg-файл для папки »
у меня установлена wondows xp sp3

с созданием папки в активном каталоге я разобрался
в свойствах кнопки плагина Launcher Buttons (программа Qttbar) прописал Working Dir = %c%
теперь папка создается именно в каталоге из которого производится запуск скрипта

Цитата OSArev:
Я понял не нужно. чтобы при создании объект открывался?
Тогда удали строчки »
по данному изменению:
объекты создаются, но не выделяются!
например, есть каталог с массой всяких папок, вызван скрипт создания папки \ файла (тот что без последующего открытия)
объект создается, затем его нужно найти и выделить
можно ли сделать так, чтобы созданный объект выделялся автоматически?

Последний раз редактировалось balzaman, 25-03-2011 в 07:31.


Отправлено: 05:59, 25-03-2011 | #5


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


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

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


Цитата balzaman:
можно ли сделать так, чтобы созданный объект выделялся автоматически? »
Вот этого, я ещё не знаю.

Отправлено: 08:24, 25-03-2011 | #6


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


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

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


OSArev, спасибо за помощь

Отправлено: 10:22, 25-03-2011 | #7


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


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

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


Изображения
Тип файла: jpg 6VF6NUWF.jpg
(25.0 Kb, 20 просмотров)
Тип файла: jpg mpeKWn9r.jpg
(43.3 Kb, 13 просмотров)

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\Новая папка]

[HKEY_CLASSES_ROOT\Directory\Background\shell\Новая папка\command]
@="WScript C:\\Users\\999\\Desktop\\001.vbs \"%V\""

делаю также, вылазит ошибка, кто может помочь ?

Последний раз редактировалось DPCKA, 08-02-2013 в 19:27.


Отправлено: 17:39, 08-02-2013 | #8


Ветеран


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

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


DPCKA, «@» в
Код: Выделить весь код
@="WScript C:\\Users\\999\\Desktop\\001.vbs \"%V\""
и означает параметр по умолчанию. Вам следовало не вводить ручками, а сохранить приведённый текст:
Код: Выделить весь код
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\Новая папка]

[HKEY_CLASSES_ROOT\Directory\Background\shell\Новая папка\command]
@="WScript C:\\Users\\999\\Desktop\\001.vbs \"%V\""
в .reg-файл и импортировать его. Ровно как и было написано выше.

P.S. После импорта reg-файла можете открыть редактор реестра и посмотреть, как должно было выглядеть то, что Вы хотели ввести «ручками».
Это сообщение посчитали полезным следующие участники:

Отправлено: 04:21, 09-02-2013 | #9


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


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

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


Iska, спасибо.

Отправлено: 01:21, 10-02-2013 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - Переделать батник в VBS-скрипт Denn2011 Скриптовые языки администрирования Windows 3 11-01-2011 23:44
2008 R2 - запустить в логоне vbs скрипт sa_domen Windows Server 2008/2008 R2 1 01-10-2010 07:59
VBS/WSH/JS - Добавить строку в VBS скрипт antonhacktm Скриптовые языки администрирования Windows 5 14-12-2009 18:40
VBS/WSH/JS - Помогите русифицироват *.vbs скрипт nod201 Скриптовые языки администрирования Windows 3 07-12-2009 10:53
VBS/WSH/JS - Скрипт на VBS b0bi Программирование и базы данных 1 15-06-2004 19:15




 
Переход