使用Windows服务在Windows上远程访问文件

时间:2011-11-24 16:32:28

标签: java windows file

我有一个执行.bat文件的Windows服务。此.bat文件执行一些读取某些文件信息的Sava代码。我需要访问的文件不在运行该服务的同一台机器上。所以我应该使用像G:\这样的映射来访问它们。

即使我运行服务时G:\上的文件存在,文件exists()和文件canRead()也始终返回false。

如果我手动执行.bat,一切都很好,但我需要使用服务执行它。

该服务正在运行,该用户有权读取此G:\映射上的所有文件。

有没有人知道哪些是错的?当作为Windows服务运行时,为什么我无法访问这些远程文件?

有问题的操作系统是Windows XP

2 个答案:

答案 0 :(得分:0)

问题通常是运行服务的用户没有相同的G:驱动器以及相同的访问权限。

我建议您以运行服务的用户身份登录,并查看该用户看到的内容。

答案 1 :(得分:0)

会话之间不共享驱动器映射,并且服务会话不会像交互式会话那样自动重新建立驱动器映射。您应该在批处理文件中放置一个net use命令,以在服务会话中显式建立驱动器映射。