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

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

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

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


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

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


Добрый день. Очень нужна ваша помощь!!! Не могу разобраться с такой проблемой: есть сеть в которой пользователи, удаленно на сервере, в определенной папке (скажем \\server\ user\) имеют возможность создавать каталоги. Нужен wsh-скрипт (или может что другое) который выводил бы диалог с пользователем с запросом имени создаваемой папки, и далее создавал на сервере в указанном каталоге папку с введенном именем и + в ней еще 5 заранее предусмотренных папок (перечень вложенных папок всегда один и тот же). Возможно есть что-то похожее в примерах – не могу найти, а самому написать пока слабо

Отправлено: 14:00, 09-08-2010

 

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


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

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


vdereberya,

Так условиями задачи не предусматривается ни подключение, ни расшаривание папок на
удаленном ПК, то предполагаю что папка доступна как сетевой диск и решение будет такое:
Код: Выделить весь код
Dim input, StrDSTFolder, StrLoctFolder

    ArrSubFolders = Array("Folder1", "Folder2", "Folder3", "Folder4", "Folder5")
    ' Перечень вложенных папок
    Input = InputBox("Введите имя папки")

    StrDSTFolder   =  "F:\" ' Некая папка на сервере
    StrLoctFolder  =  StrDSTFolder & Input & "\"

    Set objShellApp = CreateObject("Shell.Application")
    Set objFolder = objShellApp.NameSpace(StrDSTFolder)
        objFolder.NewFolder(Input)

    Wscript.Sleep 3000

    Set objSubFolder = objShellApp.NameSpace(StrLoctFolder)
        For Each StrSubFolder In ArrSubFolders
            objSubFolder.NewFolder(StrSubFolder)
        Next

Wscript.Quit 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:14, 09-08-2010 | #2



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

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


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


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

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


deepred огромное спасибо за код!!! Хочу только уточнить как бить если серверная папка не подключена как сетевой диск, а просто доступна по сети (напр. \\server\ user\) Чтение/запись в папку для пользователей - разрешено.

Отправлено: 15:24, 09-08-2010 | #3


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


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

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


так нужно так и указать:
Код: Выделить весь код
StrDSTFolder   =  "\\Server\Folder\" ' Некая папка на сервере
а запускать с компьютеров

-------
Статьи для системных инженеров http://www.sysengineering.ru

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:33, 09-08-2010 | #4


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


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

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


Гениально! Огромное спасибо! А для того что бы в директории например «Folder1» создать еще подуровень, что нужно?

Отправлено: 15:42, 09-08-2010 | #5


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


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

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


vdereberya,

приведенный код уже содержал ответ на Ваш вопрос, но тем не менее:

Код: Выделить весь код
Dim input, StrDSTFolder, StrLoctFolder, StrDp2LoctFolder

    ArrSubFolders = Array("Folder1", "Folder2", "Folder3", "Folder4", "Folder5")
    Input = InputBox("Введите имя папки")

    StrDSTFolder   =  "F:\"
    StrLoctFolder  =  StrDSTFolder & Input & "\"

    Set objShellApp = CreateObject("Shell.Application")
    Set objFolder = objShellApp.NameSpace(StrDSTFolder)
        objFolder.NewFolder(Input)

    Wscript.Sleep 3000

    Set objSubFolder = objShellApp.NameSpace(StrLoctFolder)
        For Each StrSubFolder In ArrSubFolders
            objSubFolder.NewFolder(StrSubFolder)

            IF ArrSubFolders(0) = StrSubFolder Then
              StrDp2LoctFolder    =  StrLoctFolder & ArrSubFolders(0) & "\"
              Set objSubDp2Folder = objShellApp.NameSpace(StrDp2LoctFolder)
              objSubDp2Folder.NewFolder("Dp2LoctFolder") ' В Folder1 вкладываем один каталог
            End if

        Next

Wscript.Echo "D O N E"
Wscript.Quit 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:02, 09-08-2010 | #6


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


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

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


Спасибо!

Отправлено: 17:26, 09-08-2010 | #7


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


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

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


а как решить: при нажатии кнопки «Отмена» пишет «ошибка: Требуется объект objSubFolder» ?

Отправлено: 18:22, 09-08-2010 | #8


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


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

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


vdereberya,

Нужно подредактировать начало сценария:

Код: Выделить весь код
On Error resume Next
    Dim input, StrDSTFolder, StrLoctFolder, StrDp2LoctFolder
    ArrSubFolders = Array("Folder1", "Folder2", "Folder3", "Folder4", "Folder5")
    Input = InputBox("Введите имя папки")
    
    If IsEmpty(input) Then
       WScript.Quit 0
    End if

.........

Последний раз редактировалось deepred, 09-08-2010 в 22:25. Причина: Исправлена неточность, см. post#11

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:31, 09-08-2010 | #9


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


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

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


Даже не знаю как благодарить! Огромное спасибо!

Отправлено: 18:48, 09-08-2010 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Скрипт создания ссылки, для GPO bombording Скриптовые языки администрирования Windows 6 27-09-2012 13:37
VBS/WSH/JS - [решено] Поделитесь плиз Скрипт сортирующий файлы в папки по месяцу создания osp2008 Скриптовые языки администрирования Windows 5 30-06-2010 08:50
VBS/WSH/JS - [решено] WSH скрипт для удаления файлов (логика скрипта внутри) Francyz Скриптовые языки администрирования Windows 11 25-05-2010 11:22
Любой язык - Батник (скрипт) для создания odbc ITSpec Скриптовые языки администрирования Windows 2 09-12-2009 10:32
Скрипт для создания пользователей Ven Microsoft Windows NT/2000/2003 6 24-02-2008 23:57




 
Переход