|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Присвоить атрибуты файлу/папке через скрипт |
|
|
VBS/WSH/JS - [решено] Присвоить атрибуты файлу/папке через скрипт
|
|
Alien Сообщения: 4262 |
Похожая тема уже есть, но она для CMD/BAT, а мне нужен VBS/WSH/JS.
Помогите, пожалуйста, сделать скрипт, который бы присваивал определенной папке, например, эта папка будет в "%ProgramFiles%", атрибут 'Скрытый'. Только самой папке, а не всем вложенным файлам\папкам в ней. Задача такова, что бы иметь один файл, который бы при запуске ничего не показывал, иначе бы без раздумий давно сделал бы скрипт на CMD. Зарание спасибо. |
|
|
Отправлено: 01:53, 10-11-2009 |
|
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата boss911:
strDIR = "C:\Program Files\Microsoft.NET"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objDIR = objFSO.GetFolder(strDIR)
objDIR.Attributes = 2
|
|
|
Отправлено: 03:43, 10-11-2009 | #2 |
|
Alien Сообщения: 4262
|
Профиль | Отправить PM | Цитировать amel27, стоп, а переменные, что нельзя указывать? Кричит, что неверный путь, у-у-у, это очень плохо, не интересно тогда. Как будет выглядеть скрипт, если мне двум разным папкам надо задать атрибут, а так же как будет выглядеть скрипт, если обеим файлам нужно задать разные атрибуты.
|
|
Отправлено: 04:19, 10-11-2009 | #3 |
|
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать boss911, где-то так:
Set objShell = WScript.CreateObject("WScript.Shell")
strPrograms = objShell.ExpandEnvironmentStrings("%ProgramFiles%")
strWinDir = objShell.ExpandEnvironmentStrings("%WinDir%")
AttribFolder strPrograms & "\Microsoft.NET", 2
AttribFolder strPrograms & "\Microsoft Office", 2
AttribFile strWinDir & "\regedit.exe", 2
AttribFile strWinDir & "\winhelp.exe", 2
'--------------------------
'Пользовательские процедуры
'--------------------------
Sub AttribFolder(strPath, intAttrib)
Dim objFSO, objDIR
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objDIR = objFSO.GetFolder(strPath)
objDIR.Attributes = intAttrib
End Sub
'--------------------------
Sub AttribFile(strPath, intAttrib)
Dim objFSO, objFLE
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFLE = objFSO.GetFile(strPath)
objFLE.Attributes = intAttrib
End Sub
'--------------------------
|
|
Отправлено: 05:48, 10-11-2009 | #4 |
|
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать boss911, можно и переменные окружения, только надо их дополнительно «развернуть». По приведённому в #2 коду:
strDIR = "%ProgramFiles%\Microsoft.NET"
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objWshShell = WScript.CreateObject("WScript.Shell")
Set objFolder = objFSO.GetFolder(objWshShell.ExpandEnvironmentStrings(strDIR))
objFolder.Attributes = 2
Option Explicit
Dim objArgs
Dim objFSO
Dim strFolder, lngErrLevel
Set objArgs = WScript.Arguments
If objArgs.Count = 1 Then
strFolder = objArgs.Item(0)
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(objFSO.GetAbsolutePathName(strFolder)) Then
objFSO.GetFolder(strFolder).Attributes = 2
lngErrLevel = 0
Else
lngErrLevel = 2
End If
Set objFSO = Nothing
Else
lngErrLevel = 1
End If
Set objArgs = Nothing
WScript.Quit lngErrLevel
Ежели потребно, в вызывающей программе можно анализировать код возврата (можно убрать — приведено только в качестве примера). |
|
|
Отправлено: 06:19, 10-11-2009 | #5 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| Доступ - [решено] Как получить доступ к файлу или папке | Vadikan | Microsoft Windows 2000/XP | 493 | 16-12-2017 11:16 | |
| Доступ - [решено] Права доступа к файлу в папке Windows\System32 | jokeroto | Microsoft Windows 7 | 28 | 27-11-2014 21:08 | |
| CMD/BAT - [решено] Задать атрибуты файлу/папке через скрипт | Habetdin | Скриптовые языки администрирования Windows | 15 | 21-11-2013 17:53 | |
| Безопасность - присвоить папке пароль | dgek | Программное обеспечение Windows | 10 | 05-02-2010 08:30 | |
| Доступ - Как установить право доступа отдельных программ к файлу или папке? | Zordian | Microsoft Windows Vista | 5 | 02-03-2009 11:02 | |
|