草庐IT

磁盘、

全部标签

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打开

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

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

windows - 内存和磁盘有哪些不同的区域?

我不确定这里是否适合提问,也不确定如何提出查询。让我这样说:主内存从0x00000开始到0xFFFFF。磁盘空间从0x00000000到0xFFFFFFFF。但是我们能够访问的不是从第0个字节到最后一个字节,对吧?在硬盘上,我猜在第0个字节处我们有MBR。&在某个地方我们有文件系统(我们只能访问它)。还有什么?与主存储器类似。我们有一些内核内存和用户内存(每个进程都在其中)。还有什么?我的问题是从第0个字节到最后一个字节的所有区域是什么?我不知道要搜索什么或在哪里可以找到此类信息?如果有人可以发布一些链接,那就太好了。编辑:我在Windows上使用x8632位。实际上我在读一本关于计算

java - 获取磁盘签名?

使用Java,是否有可能获得驱动器的所谓Windows“磁盘签名”?我知道我可以以某种方式解析diskpart的输出,但这不是一个很好的解决方案: 最佳答案 我没有用Java尝试过,但我用过WindowsManagementInstrumentation之前通过Python,发现这是一种非常愉快的Windows工作方式。磁盘签名在Win32_DiskDrive中可用的签名属性。Recommendedlibraries/howtosforusingWMIwithjava?的答案提到了一些Java到COM的桥接器,这些桥接器允许您使用a

windows - 如何为较低的过滤磁盘驱动程序的内部设备控制请求正确注册完成例程?

我目前正在编写一个较低的过滤磁盘驱动程序来捕获SCSI命令,并测量每个命令的性能。目前,我的驱动程序能够捕获SCSI请求,并将其传递给下一个驱动程序。但是,当我尝试注册完成例程时,我得到以下状态:0xc0000010(STATUS_INVALID_DEVICE_REQUEST)。没有完成例程的工作代码:WDF_REQUEST_SEND_OPTIONS_INIT(&options,WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET);WdfRequestSend(Request,Target,&options);带有完成例程的失败代码:WdfRequestFo

c - 如何编写自己的基本磁盘扫描程序

我想编写一些基本的磁盘扫描器实用程序。基本上,我希望能够按照系统磁盘实用程序(如Windows中的错误检查和碎片整理)的方式读取写入磁盘的某个文件的原始字节。我想用C来做。我的第一步应该是什么?显然fopen是不够的。任何指导将不胜感激(我不要求解决方案,只是一些理论并朝着正确的方向推进,因为我什至不知道从哪里开始...)。 最佳答案 以下资源可能有用:http://support.microsoft.com/kb/100027http://www.codeproject.com/KB/system/rawsectorio.aspx