.NET:如何使用Windows“复制文件”对话框复制文件。我需要批量复制多个文件。是否存在任何.NET2.0库/方法允许我以跨平台方式执行此操作而无需调用特定于Windows平台的库。提前致谢。 最佳答案 SHFileOperation,标准.NET框架支持良好。添加对Microsoft.VisualBasic.dll的引用并使用Microsoft.VisualBasic.FileIO.FileSystem.CopyDirectory()方法。多个重载可用,允许您控制UI的外观以及如何处理错误。
假设我想在我的系统上启动文件副本时得到通知,并获取文件名、复制或移动的目的地以及复制时间。这可能吗?你会怎么做?您应该HookCopyFileAPI函数吗?有没有软件可以做到这一点? 最佳答案 Windows具有I/O筛选器的概念,它允许您拦截所有I/O操作并选择执行其他操作作为结果。它们主要用于A/V类型的场景,但可以针对各种任务进行编程。例如,SysInternalsProcessMonitor使用I/O过滤器来查看文件级访问。您可以使用MSFilterManager(命令提示符下的fltmc.exe)查看当前过滤器有一个工具包
因此,GoogleChrome作为ChromeDevTools的“网络”下的这个很棒的“复制为cURL”选项。在linux的命令行中运行良好,但在windows中运行不佳。显然它与单引号有关,因为我得到的错误是protocol'httpnotsupported换句话说,它读取那个单引号。有没有一种简单的方法可以使它适用于Windows?我尝试用双引号替换所有单引号,但什么也没有发生。命令是:curl'http://www.test.com/login/'-H'Cookie:PHPSESSID=7dvb25maaaaaa9d7bbbbbc3f6'-H'Origin:http://www.
这个问题的上下文是Windows操作系统...XP到Win7/8。如果您在驱动器上创建一个文件,然后创建一个或多个指向该文件的硬链接(hardlink),那么如果您删除原始文件,该文件仍然驻留在磁盘上,因为硬链接(hardlink)仍然引用该文件。是否有一些简单的方法(删除选项?)能够删除文件和所有硬链接(hardlink)而无需四处搜索硬链接(hardlink)(不确定您如何从简单的Windows用户界面的角度找到这些硬链接(hardlink)...我知道您可以使用编程代码来做到这一点,但我正在寻找标准操作系统用户界面中的用户级解决方案)?谢谢!编辑:我发现这个问题/答案讨论了如何以
我正在尝试写入另一个进程的内存,我以38h(VM_OPERATION、VM_READ、VM_WRITE)权限打开它,然后我以4h(PAGE_READWRITE)权限使用VirtualProtectEx,但我也尝试了PAGE_EXECUTEREADWRITE-稍后出现同样的错误。然后调用ReadProcessMemory,成功读出固定地址的值。但是当我尝试使用WriteProcessMemory写入该地址时,我得到错误代码299-ERROR_PARTIAL_COPY。有人知道怎么解决吗?编辑:已解决-没有将缓冲区作为引用传递,而是作为值传递 最佳答案
我有一堆小的PowerShell函数,每个函数都在它们自己的文件中,我正试图将它们组合成一个更大的文件。通过执行以下操作使用Windows复制命令的低技术方法:copy/Y/Afunctions\*.ps1super.ps1工作正常但是在两个文件连接的地方它插入:我猜是出现了换行符(编码差异),但如何防止这些字符出现? 最佳答案 您如何尝试/B二进制来停止OEM字符集转换谁知道或者在记事本中打开脚本并将它们另存为ANSI,然后尝试使用正常的复制命令加入它们,不需要/B 关于wind
我正在通过我的软件编辑Windows注册表,例如替换Shell(Kiosk应用程序)。现在我刚刚注意到,在Win7下,如果发生硬重置(重置按钮或4秒电源按钮),所有注册表更改都会丢失。但在WinXP下它工作正常,即使在硬重置后我所做的更改仍然存在。在Win7下编辑注册表后我是否需要做任何特殊的事情,或者这甚至可能是内置的Win7安全功能?对我来说,注册表更改似乎没有最终确定,只是保存在内存中,直到发生软重置,这是真的吗?如果是这样,我可以以某种方式强制保存吗? 最佳答案 听起来你想要RegFlushKey功能。TheRegFlush
我正在创建一个文件复制程序,它将使用ROBOCOPY命令复制大量大小为~50KB的文件(~100,000)。对于每个文件,我正在创建一个新进程并按如下方式传递ROBOCOPY命令和参数:using(Processp=newProcess){p.StartInfo.Arguments=string.Format("/CROBOCOPY{0}{1}{2}",sourceDir,destinationDir,fileName);p.StartInfo.FileName="CMD.EXE";p.StartInfo.CreateNoWindow=true;p.StartInfo.UseShell
我正在为自己制作一个简单的文件夹同步备份工具,但在使用File.Copy时遇到了很大的障碍。测试将包含约44,000个小文件(Windows邮件文件夹)的文件夹复制到我系统中的另一个驱动器时,我发现使用File.Copy比使用命令行并运行xcopy来复制相同的文件/文件夹慢3倍以上。我的C#版本需要超过16分钟来复制文件,而xcopy只需要5分钟。我曾尝试搜索有关此主题的帮助,但我发现的只是人们提示通过网络复制大文件的速度很慢。这既不是大文件问题,也不是网络复制问题。我找到了一个interestingarticleaboutabetterFile.Copyreplacement,但是发
这个问题在这里已经有了答案:Checkifafileisrealorasymboliclink(9个回答)关闭5年前。有谁知道如何检查文件或目录是否是符号链接(symboliclink)、连接点、挂载点或硬链接(hardlink)?据我所知,符号链接(symboliclink)是通过检查文件的“ReparsePoint”属性来检测的。通过检查“ReparsePoint”属性的目录来检测连接点。因此,如果在文件上设置“ReparsePoint”属性,它必须是符号链接(symboliclink),否则如果在目录上设置,它只能是一个连接点……对吧?到目前为止还不错,但我仍然不知道如何检测“挂