草庐IT

磁盘挂载

全部标签

c# - 在继续之前强制挂载 USB 拇指驱动器

我正在使用Windows7上的VisualStudio2008在C#中编写更新程序。我希望用户插入USB拇指驱动器,如果程序找到驱动器并在驱动器上进行更新,它会自动将它们复制过来。我希望在启动时只检查一次,然后执行一个不知道更新的程序(更新确实需要在程序关闭时发生)。我的问题是更新程序在安装拇指驱动器之前运行,因此计算机未检测到拇指驱动器和更新并过早地继续。我想让一切都尽可能快地运行,但我需要在检测之前强制安装任何拇指驱动器。一切都必须是自动的,无需用户输入。这在C#中可行吗?编辑更多细节:我目前在启动时运行一个批处理文件(实际上是作为Windows7shell,但我不确定这有什么不同

windows - 使用 vagrant up 时如何设置不同的磁盘?

我在Windows7上使用Vagrant。在我运行vagrantup之后,我展示了:Progressstate:VBOX_E_FILE_ERRORVBoxManage.exe:error:ApplianceimportfailedVBoxManage.exe:error:Couldnotcreatetheclonemedium'L:\VirtualBoxVMs\ubuntu-cloudimg-trusty-vagrant-amd64\box-disk1.vmdk'.VBoxManage.exe:error:VMDK:couldnotcreatenewgraindirectoryin'L

c++ - Windows,打开原始磁盘

我正在尝试从原始磁盘读取字节。(Windows7、VS2010。)我得到的hDisk值为-1(我认为这是一个错误)。如何获取真实数据?#include"stdafx.h"#include#include#include#includeint_tmain(intargc,_TCHAR*argv[]){printf("helloworld\n");DWORDnRead;charbuf[512];HANDLEhDisk=CreateFile(L"\\\\.\\PhysicalDrive0",GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,0,N

windows - 驱动器中没有磁盘。请插入磁盘到drive\Device\Harddisk\DR5

问题是这样的:批处理程序正在尝试读取已插入或未插入闪存卡的USB驱动器。当其中没有内容时,会显示一条消息:“驱动器中没有磁盘。请将磁盘插入驱动器\Device\Harddisk\DR5。”以图形Windows风格。但是,此时批处理程序已停止。我不介意显示错误,但我不喜欢程序停止。那么,我该如何解决这个问题。我无法探测它,比如通过使用:如果存在X:...因为,是的,您已经猜到了,它也显示相同的错误,并停止批处理程序。我可以在后台模式下启动另一个批处理程序,然后让那个挂起,但这会很麻烦。这让我想起了很多旧消息:中止、重试、失败不过那是DOS框中的一条消息。 最佳

windows - MoveFile 是否确保文件在磁盘上移动?

从MSDN我了解到,当您在没有FILE_FLAG_NO_BUFFERING的情况下调用WinApiCreateFile时,WriteFile会将数据写入系统缓存。它不直接写入物理磁盘。操作系统稍后会将其写入物理磁盘。我想知道调用MoveFile时会发生什么。是否保证在MoveFile调用后文件实际移动到物理磁盘上或仅更新系统缓存? 最佳答案 如果您想要保证移动已到达磁盘,请使用带有MOVEFILE_WRITE_THROUGH标志的MoveFileEx,它确实可以做到这一点。请注意,这可能是严重的性能损害(通常很少或没有好处)。Mov

c++ - boost::filesystem::space() 报告错误的磁盘空间

我在驱动器C:上有430GB的空闲空间。但是对于这个程序:#include#includeintmain(){boost::filesystem::pathp("C:");std::size_tfreeSpace=boost::filesystem::space(p).free;std::cout输出是:2542768128Bytes2424MB2542768128Bytes2424MB2830102528Bytes2698MB我需要知道有多少磁盘空间可用,因为我的应用程序必须下载一个巨大的文件,我需要知道下载它是否可行。我在Windows上使用mingw:g++(i686-posix

c# - 多个小文件的磁盘大小

Size:~5mbSizeonDisk:~3gb我们使用C#并在数据变化时不断保存数据,所有文件数据都必须在任何给定时间都可以访问。基本上,如果某些内容发生更改,则必须保存该数据的文件。这就是为什么这么多数据有这么多文件的原因。数据也经过大量处理,因此无法将所有数据聚集在一起,因为微小的更改会导致无缘无故地保存大量数据。这些文件已经包含了足够多的内容,以至于保存一个文件对于仅进行很小的更改来说几乎是多余的。当然有一种方法可以避免文件大小的这种荒谬扩展,并且仍然保持我们已经实现的可访问性和节省效率。我们需要一种方法将这些文件打包成Windows认为是单个文件的方式,但这样我们就不必在某些

c++ - 如何在不使用目录的情况下在磁盘上查找文件

我正在编写一个C++应用程序,它将监视以确保磁盘上的某些文件存在。我研究了ReadDirectoryChanges和FindFirstFile/FindNextFile函数以及一个简单的轮询解决方案。我的问题是,如果父目录的名称更改或文件被重命名,我无法判断。我不想查看文件的父目录以进行名称更改。有没有办法在不使用目录的情况下判断磁盘上是否存在文件?有人告诉我这可以使用操作系统本身的内存地址,但我还没有找到任何东西。也许我只是不知道我在找什么?任何帮助将不胜感激。 最佳答案 您可以使用OpenFileById()function打开

c - 如何在文件夹中挂载虚拟文件系统?

我使用Dokan实现了一个虚拟文件系统。我试图将盘符设置为C,但每次都出错。我想知道是否有不同的虚拟文件系统可以让我这样做,或者是否有修复它的方法。是否有一些WindowsAPI调用允许我将文件系统重新挂载到文件夹中?谢谢!!!编辑:Windows管理器没有列出虚拟驱动器,所以我无法通过通常的Windows界面安装它。另外,我尝试通过属性界面更改驱动器名称,它也不让我这样做。 最佳答案 使用DoaknMountPoint在现有的C驱动器中创建一个挂载点。首先确保Dokan.dll支持该API。可以从D到Z安装驱动器。希望这有帮助

Java - 确定磁盘格式(RAW 或 FS)

假设我有一个Windows主机,有10个磁盘:其中一半是RAW格式,另一半是某种文件系统格式。我正在寻找一种方法来从Java代码中确定哪个驱动器是RAW格式,哪个是FileSystem格式。到目前为止,我能够使用WMI查询获取有关磁盘的信息(例如容量、block大小、索引等),但我找不到确定磁盘格式的方法。 最佳答案 我找到了一种通过diskpart实用程序确定磁盘格式的方法。我在所有磁盘上运行detaildisk,然后解析输出以了解它是否是RAW/FS(RAW/FS磁盘的输出不同)。我的脚本基本上是这样的:selectdisk1d