vbs创建一个文件

jonesliu7618 2013-07-19 07:10:36
我想要写一个VBS脚本,首先从文件path.txt中读取到一个路径 ,比如读取到"C:\Program Files (x86)\System Protect Software\"

然后,我要在这个路径下的子目录ShutdownScript下创建一个文件remotecomputer.txt,并写入字串test

我的代码如下,但是为何老提示路径错误呢?是不是路径中有双引号呢?

pathname="path.txt"
Set fso1 = CreateObject("scripting.FileSystemObject")
if (fso1.fileexists(pathname)) then
set ts1=fso1.opentextfile(pathname,1,true)
end if
strpath=ts1.readline
ts1.Close

filename=strpath+"\ShutdownScript\remotecomputer.txt"

Set fso = CreateObject("scripting.FileSystemObject")
if (fso.fileexists(filename)) then
set ts=fso.opentextfile(filename,8,true)
ts.WriteLine ("test")
ts.Close
else
Set ts = fso.CreateTextFile(filename, True)
ts.WriteLine ("test")
ts.Close
end if
...全文
539 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
snowhite8888 2013-07-20
  • 打赏
  • 举报
回复
估计是空格的路径造成
hookee 2013-07-20
  • 打赏
  • 举报
回复
先把 pathname="path.txt" 这个路径写全试试看
danielinbiti 2013-07-20
  • 打赏
  • 举报
回复
长路径短路径的问题 vbs中对于有空格的路径需要转换成短路径 WScript.Echo CreateObject("Scripting.FileSystemObject").GetFolder("C:\Program Files\Java").ShortPath
jonesliu7618 2013-07-20
  • 打赏
  • 举报
回复
呵呵。我google了一下,用下面的方法解决了,去掉了双引号,运行了一下,没有问题了 strpath=mid(strpath,2,len(strpath)-2)
jonesliu7618 2013-07-20
  • 打赏
  • 举报
回复
楼上,不行哦,我这个 path.txt的路径是直接从注册表读取的路径 是自动的读取,我读取的就加了双引号 所以我想问,如何能去掉这个双引号
snowhite8888 2013-07-20
  • 打赏
  • 举报
回复
楼主,你的代码没有问题,能够读取文件中的目录,然后建立文件,写入内容。我试了没有出错信息。 你检查strpath,也就是path.txt文件中第一行,不应该两端有双引号。
snowhite8888 2013-07-20
  • 打赏
  • 举报
回复
检查文本文本第一行是不是有引号
snowhite8888 2013-07-20
  • 打赏
  • 举报
回复
空格识别到了,但你上面的调式信息显示多了两个引号呢
jonesliu7618 2013-07-20
  • 打赏
  • 举报
回复
那我换种问法,如何可以去掉我获取到的strpath路径中的双引号呢? strpath中,获取到的路径是"C:\Program Files\System Protect Software\" filename=strpath+“ShutdownScript\remotecomputer.txt” 就是这句话中,如何先去掉strpath中的双引号,然后再相加
jonesliu7618 2013-07-20
  • 打赏
  • 举报
回复
filename输出显示"C:\Program Files\System Protect Software\"shutdownScript\remotecomputer" 我看不出filename有什么问题呀 我支持 但是结果确实“路径未找到”
jonesliu7618 2013-07-20
  • 打赏
  • 举报
回复

我有输出filename
yzx99 2013-07-20
  • 打赏
  • 举报
回复
把你的代码保存为a.vbs,再建立一个path.txt,其中的内容为: "C:\download\" 在DOS下,用 cscript //d a.vbs 来调试你的代码,错误在这一行: Set ts = fso.CreateTextFile(filename, True) 错误的文件名或号码 主要是: filename ""C:\download\"\ShutdownScript\remotecomputer.txt" String 剩下的应该不用说了吧
jonesliu7618 2013-07-19
  • 打赏
  • 举报
回复
目录是存在的
fzfei2 2013-07-19
  • 打赏
  • 举报
回复
你的目录是不是不存在,CreateTextFile 好像不会创建目录的

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧