草庐IT

system.io.file

全部标签

windows - 为什么 Windows 团队复制 "Program Files"文件夹以支持 x86 和 x64?

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭10年前。Improvethisquestion一个经常让我困惑的问题是,为什么Windows团队决定复制ProgramFiles文件夹以支持32位和64位平台?从长远来看,这不会给每个人带来更多的工作和困惑吗?促使他们复制树而其他一些系统保留单个“程序文件”目录(有点像MAC的通用二进制格式http://en.wikipedia.org/wiki/Universal_binary)的关键因素是什么?我敢肯定他们创建这个“ProgramFi

windows - 检查文件写入权限时,FILE_ATTRIBUTE_READONLY 与使用访问控制列表之间的关系是什么?

例如,一方面,我可以检查如果可以通过为用户建立安全标识符来写入文件,设立受托人,得到一个离散的访问控制列表和然后获取访问掩码最后检查它是否包含FILE_GENERIC_WRITE位。另一方面,我可以调用GetFileAttributes和查看返回值是否==FILE_ATTRIBUTE_READONLY对于后一种情况,如果设置了此属性,我想这意味着我不必为ACL的事情操心。还是我遗漏了其他一些微妙的点?是不是GetFileAttributes返回的是DOS信息,而访问控制列表函数是较新的windowsapi?我应该检查两者吗?干杯,本。 最佳答案

c++ - 复制到system32后文件会改变

我有一个助手DLL,我使用了很长时间,其签名没有任何变化,我将它复制到system32以便在我的所有产品中使用它,现在我添加了一个函数到它的导出列表并编译它,一切看起来都很好,我有一个包含指定函数的新DLL。我的问题是,当我将它复制到system32时,指定的函数丢失了,看起来它将以某种方式从缓存中复制并加载它的一些旧版本,因此依赖于新函数的程序将失败了!有谁知道问题出在哪里? 最佳答案 很可能您使用的是64位系统。您将文件复制到64位系统目录system32。但是,由于文件系统重定向器,您的32位应用程序会从32位系统目录SysW

windows - Sox --多线程选项 : Split stereo wav file to 2 mono files Windows Line command

我已经在Windows命令行中编写了一个批处理程序来获取立体声wav文件,并使用soxv.14.4.0音频程序将左右声道拆分为单独的FLAC文件。像这样..for/r%%nin(*.wav)do(C:\sox\sox.exe%%n-c1%%n.left.flacremix1C:\sox\sox.exe%%n-c2%%n.right.flacremix2)但是,这比我希望的要长一些。我对此进行了更多研究,看来我可以使用SOX_OPTS和--multi-thread选项以及--buffer来同时执行两个sox操作。Sox文档说明了这一点:SOX_OPTS环境变量可用于为SoX的全局选项提供

windows - 批处理文件 : Copy files to all subfolders

我正在尝试将3个文件复制到文件夹A1的所有子文件夹中。我试过这样的事情:for%%vin(A1/*.*)do(COPYcommand.batA1\%%vCOPYCUS.jarA1\%%vCOPYinput.txtA1\%%v)但是,看起来这个%%v只对文件起作用,对子目录不起作用...:-(有人可以帮忙吗? 最佳答案 试试这个:for/f%%vin('dir"path_to_A1"/AD/B/ON')do( 关于windows-批处理文件:Copyfilestoallsubfolders

安装了 AMD64 和 win32 的 system32 中的 python.dll

标准的Python安装程序将pythonXY.dll放置在Windows的system32中。如果我安装32位和64位版本,system32文件夹中只有一个pythonXY.dll,但两个解释器仍然有效。我的印象是每个解释器都需要自己的架构特定的dll。此外,Dependencywalker告诉我相同的dll用于两个解释器。一旦调用,仍然每个在其标题中分别显示AMD64或win32。这是如何工作的? 最佳答案 32位模拟器(称为WOW64)有一个名为SysWOW64的并行系统目录。在那里可以找到32位DLL。系统透明地将访问syst

Windows 筛选器驱动程序 : Fast IO and IRPs

我编写了一个只关心写入的简单过滤器驱动程序。过滤器只注册IRP_MJ_WRITE。过滤器驱动程序会删除它不关心的内容:如果写的是0字节长如果请求者是内核模式如果元数据中的文件名与我们感兴趣的特定文件匹配我想要捕获的是所有实际写入磁盘的写入。我应该关注哪些写入?目前我正在捕获所有IRP和FAST_IO。但是捕获两者会产生一些重复。仅捕获IRP,我似乎遗漏了一些数据,仅捕获FAST_IO也是如此。我读过http://msdn.microsoft.com/en-us/library/ff548576.aspx(“IRP不同于快速I/O”),但这并没有阐明我的经验数据。我正在尝试做的是在过滤器

c++ - 在 Windows 上增加 io 优先级?

原来我的生产者函数只会写入数据,现在我有第二个线程负责写入数据。生产者函数将memcpy写入循环缓冲区并触发消费者线程开始写入。当我使用2线程方案时,我获得了所需的线程隔离、程序稳定性和写入前可变计算的能力——但io性能降低了50%。我的理论是,可以为每个我想要调整的线程设置某种优先级。这可能吗?我在RAID0数据剥离配置中使用2个SSD。 最佳答案 “io性能降低50%”是什么意思?根据您的资源监视器,它已达到最高:磁盘队列已满,磁盘事件时间为100%。如果您的意思是写入速度跳跃-它们与任何可能的线程优先级无关。它们是由文件碎片引

windows - for/f "the system cannot find the file"在 windows 命令脚本中

我在使用“for/f”时遇到一些困难,无法找到具有特定名称的文件。当文件或路径包含空格时,此站点上的许多用户都会遇到此问题,但这里并非如此。简单示例,名为“test4.cmd”的批处理文件:@echooffsetln=%1ifexist2013_10_23_Cal_Curve.txtechoThefirstfileexists.ifexist~temp1.txtechoThesecondfileexists.for/f"skip=%ln%tokens=2"%%ain(2013_10_23_Cal_Curve.txt)doechoFoundthefirstfile.for/f"skip=

c++ - SYSTEM 进程是否可以与非 SYSTEM 进程共享数据?

我正在尝试使用QSharedMemory和QClipboard在SYSTEM进程(在WinSta0\\Winlogon桌面)和普通用户进程,但都无法与普通桌面上运行的其他非SYSTEM进程共享数据。我相信这是因为WinSta0\\Winlogon桌面是一个独立的桌面。我的应用是一个拍摄Windows安全桌面并将其发送到剪贴板的程序。问题是:有没有办法在该进程和非SYSTEM进程之间共享内存数据?(实际上我正在使用一个文件来完成这项工作)。 最佳答案 在WindowsVista及更高版本中,系统服务在隔离的session(“sessi