VBSscript错误 – 使用用户名和密码创buildFTP的快捷方式

我有一个可以部署到用户的vbsscript,它将在用户的桌面上创build一个FTP驱动器的快捷方式。 这个脚本以这种forms工作:

Set objShell=Wscript.CreateObject("Wscript.shell") strDesktopFolder=objShell.SpecialFolders("Desktop") & "\" Set objShortcut=objShell.CreateShortcut(strDesktopFolder & "FTP.lnk") objShortCut.TargetPath = "ftp://ftp.website.com" objShortCut.Description = "FTP" objShortCut.Save 

这很好,但是它要求用户input用户名和密码来访问该文件夹。 作为部署的一部分,我确实需要保存用户名和密码,并为最终用户省去额外的步骤。 因此,我希望在部署时将用户名和密码保存为vbs脚本的一部分。 我已经接近,可以保存用户名和密码,如下所示:

 Set objShell=Wscript.CreateObject("Wscript.shell") strDesktopFolder=objShell.SpecialFolders("Desktop") & "\" Set objShortcut=objShell.CreateShortcut(strDesktopFolder & "FTP.lnk") objShortCut.TargetPath = "ftp://user:pass@ftp.website.com" objShortCut.Description = "FTP" objShortCut.Save 

但是,问题是我无法正确保存它们。 用户名格式是:

 user@website.com 

这是我的FTP站点的格式。 我无法改变这一点。 这种格式返回一个错误(800A0005)。 我需要我的脚本没有这样的错误工作:

 Set objShell=Wscript.CreateObject("Wscript.shell") strDesktopFolder=objShell.SpecialFolders("Desktop") & "\" Set objShortcut=objShell.CreateShortcut(strDesktopFolder & "FTP.lnk") objShortCut.TargetPath = "ftp://user@website.com:pass@ftp.website.com" objShortCut.Description = "FTP" objShortCut.Save 

感谢您的帮助!

如果您的用户名包含@符号,并且您的Web浏览器或Windows资源管理器不喜欢它,则必须用+符号替换它,如下所示:

user@website.com = user + website.com

 Set objShell=Wscript.CreateObject("Wscript.shell") strDesktopFolder=objShell.SpecialFolders("Desktop") & "\" Set objShortcut=objShell.CreateShortcut(strDesktopFolder & "FTP.lnk") objShortCut.TargetPath = "ftp://user+website.com:pass@ftp.website.com" objShortCut.Description = "FTP" objShortCut.Save