Vbscript 远程计算机上的OpenTextFile

Vbscript 远程计算机上的OpenTextFile,vbscript,path,unc,Vbscript,Path,Unc,我正在尝试使用以下代码读取远程文本文件: function defdate(ipaddress) deffilePath = chr(34) & "\\" & ipaddress & "\c$\" & deffileName & chr(34) wscript.echo deffilePath set deffile = objFSO.OpenTextFile(deffilePath) do while not deffile.endofs

我正在尝试使用以下代码读取远程文本文件:

function defdate(ipaddress)
  deffilePath = chr(34) & "\\" & ipaddress & "\c$\" & deffileName & chr(34)
  wscript.echo deffilePath
  set deffile = objFSO.OpenTextFile(deffilePath)
  do while not deffile.endofstream
    s=deffile.readline    
    wscript.echo s
  loop
deffile.close
end function
下面我的deffilePath展开为如下字符串:

“\\10.211.19.207\c$\Program Files\Common Files\Symantec Shared\VirusDefs\definfo.dat”

但是,我得到“Microsoft VBScript运行时错误:错误的文件名或编号”。

有什么问题吗?

我认为在UNC路径名的开头需要两个反斜杠。尝试添加另一个


我猜它可以与“\\10.211.19.207\c$\Program Files\Common Files\Symantec Shared\VirusDefs\definfo.dat”一起使用。

您是否尝试过删除结尾处的chr(34)?

您不需要(阅读:“不得”)将路径括在引号中

deffilePath = "\\" & ipaddress & "\c$\" & deffileName

在使用命令行或类似的API时,只需要包含引号——CHR(34)。如果一个方法只需要一个文件名,请将其删除。

问题在于开头和结尾的“chr(34)”。在Windows“运行”菜单中键入路径时,您需要这些引号,但在向这样的函数调用传递路径时,您不需要这些引号。

很好地发现了这一点,但我在复制文本时忽略了这一点。我确实有两个反斜杠,那么我恐怕不知道是什么问题。祝你好运!:)不管谁-1我,把它加回去。我是对的,我刚错过了开头的chr(34)也应该删除。c$不是问题吗?不,问题是缺少反斜杠。“c$”是Windows默认为“c:”驱动器创建的隐藏共享的名称。Andy,反斜杠没有丢失--这是一个渲染问题。现在我知道了,Roger,在您修复该问题之前,我发表了评论。波浪