2013-03-04 17 views
0

Я пытаюсь дать разрешение всем на вызов вызова папки. если я делаю это работаетустановить разрешение с vbscript

objShell.ShellExecute "cmd.exe","/k icacls c:\Test /grant everyone:(OI)(CI)M ", "", 

но если я делать этого не

Set objShell = CreateObject("Shell.Application") 
    Dim var 
    var = "C:\Test" 
    objShell.ShellExecute "cmd.exe", "/k icacls" & var & "/grant everyone:(OI)(CI)M ", "", "runas", 1 

поэтому мой вопрос, как я могу заставить его работать пожалуйста, помогите

ответ

1

Вы забыли свои пространства, incluide их в переменной, как

var = " C:\Test " 

или лучше до- и добавить их к остальной части строки

objShell.ShellExecute "cmd.exe", "/k icacls " & var & " /grant everyone:(OI)(CI)M ", "", "runas", 1 
+1

При вставке переменных в командные строки также полезно добавить кавычки, например '" ... "& Chr (34) & var & Chr (34) &" ... "'. –

+0

благодарим вас за помощь. Это сработало – user1766952

0

Похоже разнесением вопрос. Можете ли вы попробовать это?

Set objShell = CreateObject("Shell.Application") 
    Dim var 
    var = "C:\test" 
    objShell.ShellExecute "cmd.exe", " /k icacls " & var & " /grant everyone:(OI)(CI)M ", "", " runas ", 1 
+0

был разноса выпуск благодаря – user1766952

+0

no problemo :-) –

Смежные вопросы