中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » vbs无法复制带空格的文件夹到系统变量
English/Chinese Fix Translation
作者:
标题: vbs无法复制带空格的文件夹到系统变量 上一主题 | 下一主题
xg911335
初级用户





积分 134
发帖 50
注册 2006-3-28
状态 离线
『楼 主』:  vbs无法复制带空格的文件夹到系统变量 使用 LLM 解释/回答一下

On Error Resume Next
Dim objFSO,oShell
Const OverwriteExisting = True
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set oShell = WScript.CreateObject("WScript.Shell")
objFSO.Copyfolder "aa 12" , “%USERPROFILE%\My Documents" , OverwriteExisting
oShell.Run "1.exe"

Last edited by xg911335 on 2006-10-20 at 03:59 ]


2006-10-20 03:57
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

记得%USERPROFILE%好像是DOS下的吧,vbs下要用 Environment 来获得环境变量





C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-10-20 04:07
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
xg911335
初级用户





积分 134
发帖 50
注册 2006-3-28
状态 离线
『第 3 楼』:   使用 LLM 解释/回答一下

给个实列看看。谢谢楼上的解答。


2006-10-20 05:06
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 4 楼』:   使用 LLM 解释/回答一下

自己到 script56.chm 里看





C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-10-20 07:01
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 5 楼』:   使用 LLM 解释/回答一下

论坛的vbs脚本并不多,不过如果都看过一遍的话,楼主的问题也就不再是问题.

arrArgs = Array("无","IE","所有程序","控制面板","打印机和传真", _
"我的文档","收藏夹","启动","最近打开的文档","发送到", _
"回收站","开始菜单","暂缺","我的音乐","我的视频", _
"暂缺","桌面","我的电脑","网上邻居","NetHood", _
"字体","Templates","AllUser开始菜单","AllUser所有程序",_
"AllUser启动","AllUser桌面","MY_AppData","PrintHood", _
"MY_AppData2","暂缺","暂缺","AllUser收藏夹","IE缓存", _
"Cookies","历史记录","AllUserAppData","Windows","System32", _
"程序","我的图片","当前用户根目录","公共组件","暂缺",_
"暂缺","暂缺","AllUserTemplates","共享文档", _
"AllUserManagement","管理工具","网络连接","暂缺","暂缺", _
"暂缺","AllUserMusic","AllUserPictures","AllUserVideos", _
"桌面主题","Resources2","none","CD_Burning")
For i = 1 To UBound(arrArgs)
If arrArgs(i) = "当前用户根目录" Then intNumber = i
Next

str = "Set objShell = CreateObject(" & Chr(34) & _
"Shell.Application" & Chr(34) & ")" & vbLf & _
"Set objFolder = objShell.Namespace(" & intNumber & ")" & vbLf &_
"Set objFolderItem = objFolder.Self" & vbLf & _
"strDir = objFolderItem.Path"
Execute str
Wscript.Echo "获得★" & strDir & "★的代码:" & vblf & vblf & str
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate "about:blank"
objIE.document.parentwindow.clipboardData.SetData "text", str
objIE.Quit
WScript.Echo "代码已被复制到剪贴板!"

Set objIE = Nothing


参考链接:SendTo+批处理实用小工具--加强版发送到
在vbs中,利用Wscript.Shell也可以得到部分系统目录,不过由于其内容太少,俺很少用它:

WScript.Echo CreateObject("Wscript.Shell").SpecialFolders("Desktop")

它可以获得的目录有:

AllUsersDesktop
AllUsersStartMenu
AllUsersPrograms
AllUsersStartup
Desktop
Favorites
Fonts
MyDocuments
NetHood
PrintHood
Programs
Recent
SendTo
StartMenu
Startup

另外,关于获得环境变量,你可以尝试用WMI来实现:

For Each x In GetObject("winmgmts:\\.\root\cimv2:Win32_Environment").Instances_
WScript.Echo x.Name & ":" & vbTab & x.VariableValue
Next

Templates


2006-10-20 07:28
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 6 楼』:   使用 LLM 解释/回答一下


  还是版主的强啊。。

  学习了。


2006-10-20 07:38
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 7 楼』:   使用 LLM 解释/回答一下

Shell.Application……用这个足以对付一切路径了

Last edited by electronixtar on 2006-10-21 at 04:31 ]





C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-10-20 09:05
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
xg911335
初级用户





积分 134
发帖 50
注册 2006-3-28
状态 离线
『第 8 楼』:   使用 LLM 解释/回答一下

谢谢各位指教。


2006-10-21 03:15
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: