Vbscript VBS-带引号的问题(开始)

Vbscript VBS-带引号的问题(开始),vbscript,Vbscript,你能告诉我我忘了在哪里打引号吗 提前感谢您的回答。您在这里有额外的引号“”“/GRANT:“您是否试图在脚本中包含引号?如果您可以使用&Chr(34)获取额外的引号,请参阅此[Link]()使用.Run或.Exec时的第一条规则: 将命令构建到一个变量中,并对其进行响应。 strNewFolderName=%username% oShell.run "cmd.exe /C NET SHARE strNewFolderName =""C:\test02\" & strNewFolderN

你能告诉我我忘了在哪里打引号吗


提前感谢您的回答。

您在这里有额外的引号
“”“/GRANT:“
您是否试图在脚本中包含引号?如果您可以使用&Chr(34)获取额外的引号,请参阅此[Link]()

使用.Run或.Exec时的第一条规则:

将命令构建到一个变量中,并对其进行响应。

strNewFolderName=%username%

oShell.run "cmd.exe /C NET SHARE strNewFolderName =""C:\test02\" & strNewFolderName & " "" /GRANT:" & strNewFolderName & ",FULL"
显然,
strNewFolderName
没有被插入/替换,因为VBScript不会自动将变量内容放入字符串文本中/您忘记将
strNewFolderName
的第一个实例连接到字符串中

让我们进行连接:

>> strNewFolderName = "NewFolderName"
>> sCmd = "cmd.exe /C NET SHARE strNewFolderName =""C:\test02\" & strNewFolderName & " "" /GRANT:" & strNewFol
derName & ",FULL"
>> WScript.Echo sCmd
>>
cmd.exe /C NET SHARE strNewFolderName ="C:\test02\NewFolderName " /GRANT:NewFolderName,FULL
很明显,在结束/第二次报价之前有一个虚假的空格

>> sCmd = "cmd.exe /C NET SHARE " & strNewFolderName & "=""C:\test02\" & strNewFolderName & " "" /GRANT:" & st
rNewFolderName & ",FULL"
>> WScript.Echo sCmd
>>
cmd.exe /C NET SHARE NewFolderName="C:\test02\NewFolderName " /GRANT:NewFolderName,FULL
应该是

& " "" /GRANT:" &
第二条规则:

使用
.Echo
ed字符串从控制台测试命令。

strNewFolderName=%username%

oShell.run "cmd.exe /C NET SHARE strNewFolderName =""C:\test02\" & strNewFolderName & " "" /GRANT:" & strNewFolderName & ",FULL"
假设此测试成功,则可以使用

& """ /GRANT:" &
或者——甚至更好:

oShell.Run sCmd
带着一些自信

如果你愿意学习,你可以看看