0

このコードを使用してリモートテキストファイルを読み込もうとしています。

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ランタイムエラー:ファイル名または番号が正しくありません」というメッセージが表示されます。
何が問題なのですか?

4

5 に答える 5

1

パスを引用符で囲む必要はありません (読む: 「してはならない」)。

deffilePath = "\\" & ipaddress & "\c$\" & deffileName
于 2009-02-10T13:39:36.017 に答える
1

コマンドラインを使用する場合、または同様の API の場合は、引用符 (CHR(34)) のみを含める必要があります。メソッドがファイル名だけを取る場合は、それらを省略します。

于 2009-02-10T13:40:32.503 に答える
1

問題は冒頭と末尾の「chr(34)」です。Windows の実行メニューでパスを入力するときは引用符が必要ですが、このような関数呼び出しにパスを渡すときは必要ありません。

于 2009-02-10T13:41:45.917 に答える
0

最後にchr(34)を削除してみましたか?

于 2009-02-10T13:37:58.000 に答える
-1

UNCパス名の先頭に2つの円記号が必要だと思います。別のものを追加してみてください!

私の推測では、「\\ 10.211.19.207 \ c $ \ Program Files \ Common Files \ Symantec Shared \ VirusDefs\definfo.dat」で動作します。

于 2009-02-10T13:35:31.503 に答える