我有一个网络驱动器(例如,G:在服务器A上).我正在尝试将其他网络驱动器(H :)映射到新服务器(服务器B).我尝试了这个net use
命令,在Window XP上出现错误1219.
net use h: \\ServerB\docs /user:ServerB\user Password
Run Code Online (Sandbox Code Playgroud)
我正在使用服务器A的帐户连接服务器A的网络驱动器.我必须同时使用两个网络驱动器,所以我不认为我可以net use * /del
连接到服务器B 的命令.
我能做什么?
我有一个安装在小型办公环境中的桌面Windows应用程序。
该应用程序使用.MDB
数据库文件作为其数据库,该文件存储在网络驱动器上。
配置文件.MDB
使用字母驱动器指定服务器上文件的路径:例如。f:\data\db.mdb
应用程序启动时需要访问此数据库文件。启动应用程序时,如何确保网络驱动器已连接且可访问?
有时Windows不会重新连接网络驱动器,并且连接它们的唯一方法是在“我的电脑”中双击它们,即使在映射驱动器时选中了“登录时重新连接”。
解决方案是使用\\machine_name\share
代替驱动器号吗?
我知道这是在一年前在其他地方被问到的,但我正在寻找任何更新.
我在Java 7中有一个程序,它使用WatchService来监视目录,以便在那里创建新文件.如果我在本地机器上注册一个目录(例如c:\ NewFiles),那么一切都很好.然而,当我试图让它听一个网络驱动器上的文件夹时,它编译并运行但直接退出,因为它似乎没有得到任何事件的通知..这里只是我的代码的一个片段...
private final WatchService watcher;
private final Map<WatchKey, Path> keys;
this.watcher = FileSystems.getDefault().newWatchService();
this.keys = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)
我注册了目录......
String srcDirPath = "G:\\NewFiles";
Path dir = Paths.get(srcDirPath);
WatchKey key = dir.register(watcher, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY);
keys.put(key, dir);
Run Code Online (Sandbox Code Playgroud)
然后在循环结束时检查事件......
if (keys.isEmpty()) {
System.out.println("Drive is inaccessible");
break;
}
Run Code Online (Sandbox Code Playgroud)
在这里,我总是得到"驱动器无法访问"的警告.我尝试将我的Java文件复制到此网络目录并从那里运行它们但我遇到了同样的问题.
是否可以从本地计算机上运行这样的Watchservice来监听对网络驱动器上目录的更改?我在这里得到了许可或防火墙问题吗?我使用的是Windows 7,很可能网络驱动器也在Windows 7机器上.
我正在使用Windows 7并在其上安装了Cygwin.使用Cygwin,我最近尝试在网络驱动器中使用Vim编写新文件.当试图保存它时,Vim抱怨该文件是只读的(ls -la
显示该驱动器上的文件只有很少的权限,这看起来很奇怪,因为如果我使用Git Bash尝试相同的权限会有很大的不同).
我强迫Vim编写文件,但退出文件后,Windows资源管理器或任何Unix shell都没有.然后我尝试重命名保存文件的文件夹(Includes
- > IncludesOld
),创建一个具有原始名称的新文件夹,并将所有文件移动到新文件夹.这使原始文件夹(IncludesOld
)为空,但我无法将其删除.如果我尝试删除它,则不会显示任何错误消息,但该文件夹仍然存在.
我猜这与Cygwin保持自己的文件系统视图有关,这与我看到的不一致,但我不知道该怎么办.
运行mount
产生以下输出:
C:/cygwin64/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin64/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin64 on / type ntfs (binary,auto)
B: on /cygdrive/b type udf (binary,noacl,posix=0,user,noumount,auto)
C: on /cygdrive/c type ntfs (binary,noacl,posix=0,user,noumount,auto)
D: on /cygdrive/d type ntfs (binary,noacl,posix=0,user,noumount,auto)
E: on /cygdrive/e type ntfs (binary,noacl,posix=0,user,noumount,auto)
O: on /cygdrive/o type ntfs (binary,noacl,posix=0,user,noumount,auto)
S: on /cygdrive/s type ntfs (binary,noacl,posix=0,user,noumount,auto)
T: on /cygdrive/t type ntfs (binary,noacl,posix=0,user,noumount,auto)
U: …
Run Code Online (Sandbox Code Playgroud) 我在VMWare中有一个Windows 7虚拟机,用于使用默认的IIS Express服务器开发ASP.NET MVC 5 Web应用程序。我想将项目保存在外部硬盘驱动器上,可以通过共享文件夹/网络驱动器在虚拟机中访问该项目。但是,当我运行应用程序时,IIS Express无法访问项目目录中的web.config文件。它在正确的文件夹中查找,因此我很确定这是一个权限问题。如何授予IIS Express文件访问网络驱动器上文件的权限?
我尝试过的事情
我宁愿避免的已知的最后手段
将项目文件从外部硬盘驱动器复制到VM的存储空间,反之亦然
在完整的IIS服务器上运行项目
其他须知
使用Visual Studio 2013和MVC 5
使用IIS Express 7.5
VMWare工作站11
虚拟机也位于外部硬盘驱动器上,因此我无法将USB连接到来宾,我需要通过共享文件夹访问硬盘驱动器的其余部分(尽管值得怀疑,也许对硬盘驱动器进行分区可以解决此问题?)
来宾操作系统是Windows 7 Professional
主机操作系统是Debian Jessie RC1
外部HDD格式化为NTFS,尽管在网络驱动器上显示为HGFS
我可以读写网络驱动器上的文件,只是IIS Express遇到了问题
我正在ColdFusion中构建一个应用程序作为我工作的一部分.此应用程序基本上创建问题的票证.在共享网络驱动器上,存在与票证号码对应的文件夹,其中包含与该票证有关的文件.
但是,有两种不同类型的用户:第一种用户创建票证并可以访问共享驱动器上的所有这些文件,第二种用户只能访问与其所包含的票证相关的文件/ CC打开了.这些文件包含敏感信息,因此不能在第二类用户之间共享它们,并且它们也不能拥有可以导航到其他文件夹等的完整路径.
这让我想到了下一个问题,这些文件在很多情况下非常大,所以我的老板不想把它们放在我们自己的任何服务器上(托管我们的应用程序等),他也不想让我甚至暂时复制它们到我们的服务器允许下载这些文件,然后删除它们,因为他称之为"延迟".
所以在这一点上,我正在寻找如何制作特定于票号的文件的选项,仅供某些人使用.这可以通过ColdFusion应用程序以链接方式完成,也可以通过更改文件夹和共享驱动器本身的某些结构来完成.有没有人有一个可以用于此的好方法?
如果有什么不清楚的地方,我很抱歉,只是问一下,我会尽力澄清.
我在 Windows 中安装了网络驱动器(samba 服务器)。
我在该驱动器中有一个文件,我想在 Java 程序中读取该文件。
在我尝试使用以下方法读取文件之前:
Paths.get(basePath, fileName).toFile()
Run Code Online (Sandbox Code Playgroud)
但由于文件不存在而失败。文件就在那里,路径也很好。
然后我尝试了以下有效的代码:
String path = Paths.get(basePath, fileName).toAbsolutePath().toString()
File file = new File(path)
Run Code Online (Sandbox Code Playgroud)
两种方法有什么区别吗?是否需要任何安全设置?
更新
因此,在我使用第二部分(有效的部分)之后,我回到原来的部分(原样)来验证调试,这次它有效了。我用同一目录中的另一个文件尝试了它,但失败了。看起来很奇怪,但我会检查更多。
我有一个商业软件,它将客户信息写入网络 Windows 驱动器上的二进制文件。该架构阻止我使用该网络驱动器以外的任何东西。
我编写了一个 C# 应用程序来解析此二进制文件中的数据。该应用程序只是处于循环中,等待该文件被修改,然后解析客户信息以查找更改的内容。然后它将更新我自己的自定义数据库中的客户记录。
问题:
我是一名 Linux 人员,我的第一个想法是我在 Linux NFS 挂载上看到了类似的问题,并修复了它们,尽管已经很久以前我不记得确切的解决方案了。
我试过了:
使用组策略编辑器禁用所有文件的脱机文件。这不起作用。
客户更改后,通用长时间休眠,然后再读取更新的二进制文件。这不起作用。
** 这里有趣的一点是,我的代码将检测修改后的时间戳并对其进行处理,但内容似乎仍然被缓存
我已经对所有内部数据结构进行了三次检查,以确保它们在每次迭代中都是干净的。那里没有缓冲数据。
甚至在网上发现了一个黑客,其中一个人说,如果您将文件添加到同一目录,然后删除它,它会以某种方式强制目录刷新。这并没有奏效,但以不同的方式突出了问题。如果我创建临时/黑客文件然后立即尝试删除它,它不起作用,因为我的应用程序看不到新的黑客文件。即使在创建和删除之间有几秒钟的睡眠。
我尝试以编程方式将此文件移动到末尾带有 _ 的相同文件名,然后再读取它。我的想法是,编写这个始终是唯一的新文件,会以某种方式迫使 Windows 为我提供该文件夹中最新、最好的文件。然而,当我尝试读取这个新的/唯一的文件时,它告诉我找不到该文件,即使我可以通过 Windows 资源管理器看到它。似乎我正在阅读该目录的某些缓存版本。
奇怪的测试行为:
在操作上,有多个用户和站点正在修改此客户数据,因此大量数据变化非常快。我只需要一种方法来强制读取实际数据文件。感谢你们提供的任何帮助。
更新:使用一些评论,我让它工作,但我不会说我实际上找到了解决方案。这只是一个黑客行为。我只是结合了我之前认为应该有效(但没有)的所有内容并进行了测试。首先,我将文件复制到同一目录,并将纪元添加到末尾。然后,我进入循环,通过检查 FileInfo.Exists 来查找该文件。当它没有看到它时,我使用 FileInfo.Refresh(),睡一会,然后重试。在我的测试中,最多需要 15 秒才能打破这个循环。一分钟后,它会出错,只是为了防止这里出现无限循环。然后我删除临时文件。
再说一次,我知道这是非常丑陋和混乱的,所以我仍然对任何能提供如何更正确地处理这个问题的答案的人感兴趣。
我正在开发一个具有共享文件夹输入的实用程序.我的应用程序要求所选文件夹位于远程计算机上,而不是本地计算机上.我想知道用户是否C:\
从本地计算机中选择,而不是Z:\
可能是网络驱动器.我该如何验证?
我有一个简单的C#程序,它有一组单元测试.这是在Visual Studio 2010上开发的.现在在另一台计算机上,我尝试使用Visual Studio 2012重新加载此解决方案并运行测试.我能够成功重建解决方案,但是没有任何单元测试显示在测试资源管理器中.Visual Studio项目(解决方案)位于LaCie以太网网络驱动器上.我将整个解决方案复制到我的本地C:驱动器,从网络驱动器关闭解决方案并在本地C:驱动器上重新打开复制的解决方案.现在,当我构建解决方案时,Test Explorer显示所有测试.我回去打开网络驱动器上的副本,再次测试资源管理器显示没有测试.它说构建解决方案以查看测试列表,但在成功构建包含主项目和单元测试项目的解决方案之后,它仍然显示相同的消息.见下图:
为什么项目位于网络驱动器上导致单元测试失败,没有任何失败消息?
c# unit-testing network-drive visual-studio vs-unit-testing-framework
network-drive ×10
c# ×2
windows ×2
asp.net ×1
bash ×1
caching ×1
coldfusion ×1
cygwin ×1
delphi ×1
delphi-xe2 ×1
drive-letter ×1
file ×1
file-io ×1
filepath ×1
iis-express ×1
java ×1
java-7 ×1
java-io ×1
ms-access ×1
net-use ×1
unit-testing ×1
vmware ×1
watchservice ×1
windows-7 ×1