【发布时间】:2011-11-24 16:32:27
【问题描述】:
我有一个执行.bat 文件的Windows 服务。这个.bat 文件执行一些读取一些文件信息的Sava 代码。我需要访问的文件不在服务运行的同一台机器上。所以我应该使用像G:\ 这样的映射来访问它们。
即使在我运行服务时G:\ 上存在文件,文件exists() 和文件canRead() 也总是返回false。
如果我手动执行.bat,一切正常,但我需要使用服务来执行它。
服务正在与有权读取此G:\ 映射上的所有文件的用户一起运行。
有没有人知道什么地方出了问题?作为 Windows 服务运行时,为什么我无法访问这些远程文件?
有问题的操作系统是Windows XP。
【问题讨论】:
-
尝试执行“\\servername\c$\path_to_bat_file”,其中 c 是远程机器上的驱动器,当然,必须替换为 bat 文件所在的驱动器名称驻留(无映射)。当然,这是假设所有访问权限都已到位。 servername 是您用来映射驱动器的名称。