中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-11 11:58
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]请教一个vbs问题 查看 635 回复 5
楼 主 [求助]请教一个vbs问题 发表于 2009-02-26 21:49 ·  中国 福建 厦门 电信
新手上路
积分 3
发帖 3
注册 2009-02-26 03:04
17年会员
UID 139961
性别 男
状态 离线
请教一个vbs问题

我想编一个vbs脚本,功能是在 C:\Documents and Settings\user\ 下建立一个xml的配置文件。现在存在2个问题

1. 因为user不确定,所以需要用 %homepath% 定位目录,在vbs中如何用
2. 另外就是如何创建一个 xml文件,同时写入内容。内容中包括有 " <>,.!? 空格 " 等符号


请高手指点,谢谢
2 发表于 2009-02-27 00:57 ·  中国 广东 广州 电信
初级用户
★★
l i u s s
积分 73
发帖 101
注册 2008-09-17 00:21
17年会员
UID 125825
性别 男
来自 GZ
状态 离线
获取系统特殊目录方法:

Set WshShell=Wscript.CreateObject("Wscript.Shell")
Set WshSysEnv=WshShell.Environment("Process")
strFolder=WshSysEnv.Item("USERPROFILE")
Wsh.Echo strFolder


创建文本方法:

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set f = objFSO.CreateTextFile("......", True)
f.WriteLine "........"
3 发表于 2009-02-27 01:57 ·  中国 福建 厦门 电信
新手上路
积分 3
发帖 3
注册 2009-02-26 03:04
17年会员
UID 139961
性别 男
状态 离线
谢谢,系统目录可以取了

写文本文件这个好像不行,
因为 xml 文件格式是这样的,包含各种字符。 writeline 只能写普通文本

<?xml version="1.0" encoding="UTF-8" ?>
<records>
<address filename="h01.xml" name="h01">
<ip address="192.168.1.1"/>
<email address=""/>
</address>
</records>
4 发表于 2009-02-27 03:06 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
MsgBox "<?xml version=""1.0"" encoding=""UTF-8"" ?>" & vbCrLf & "<records>" & vbCrLf & "<address filename=""h01.xml"" name=""h01"">" & vbCrLf & "<ip address=""192.168.1.1""/>" & vbCrLf & "<email address=""""/>" & vbCrLf & "</address>" & vbCrLf & "</records>"
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
5 发表于 2009-02-27 03:22 ·  中国 广东 广州 电信
初级用户
★★
l i u s s
积分 73
发帖 101
注册 2008-09-17 00:21
17年会员
UID 125825
性别 男
来自 GZ
状态 离线
楼上已提示:双引号是VBS特殊符号,附加的要加多一个双引号转义。

Set WshShell=Wscript.CreateObject("Wscript.Shell")
Set WshSysEnv=WshShell.Environment("Process")
strFolder=WshSysEnv.Item("USERPROFILE")

Set fso=CreateObject("Scripting.FileSystemObject")
Set f=fso.CreateTextFile(strFolder&"\h01.xml",ture)

f.WriteLine("<?xml version=""1.0"" encoding=""UTF-8"" ?>")
f.WriteLine("<records>")
f.WriteLine(" <address fname=""h01.xml"" name=""h01"">")
f.WriteLine(" <ip address=""192.168.1.1""/>")
f.WriteLine(" <email address=""""/>")
f.WriteLine(" </address>")
f.WriteLine("</records>")
f.Close
6 发表于 2009-03-02 02:31 ·  中国 福建 厦门 电信
新手上路
积分 3
发帖 3
注册 2009-02-26 03:04
17年会员
UID 139961
性别 男
状态 离线
多谢指点
论坛跳转: