草庐IT

修改频段

全部标签

ruby - 在 Ruby 中监视 Windows 上的修改文件

我正在使用Win32-utilsgem在ruby​​中编写Windows服务。该服务目前可以正常工作,但它的大部分功能要求它知道文件何时被修改。我目前正在使用包含每个文件数据的大散列来执行此操作,这对于相对较小的目录非常有用,但是当在包含~50000个文件的文件夹上使用时,这会占用大量内存并且需要很长时间来检查更新。代码如下所示:第一次运行(设置哈希):Find.find(@local_base)do|path|#Don'tkeepanydirectoriesinthehashifnotFileTest.directory?(path)f=open(path)f.rewind@file

windows - 调试:修改文件时在运行时中断? ( Windows )

是否可以在修改特定文件时在运行时中断?即。监视文件并在对其进行更改后进入调试器。这是针对Windows应用的...这在visualstudio或windbg中可行吗?编辑:我应该提到这是一个Win32应用程序.. 最佳答案 您可以使用System.IO.FileSystemWatcher类。FileSystemWatcherwatcher==newFileSystemWatcher();watcher.Filter=@"myFile.ini";watcher.Changed+=newFileSystemEventHandler(wa

windows - 如何将目录结构导入 SVN,同时保持文件和文件夹的修改日期相同?

我有一个大型源代码树(>2GB,WINCE构建树),我想开始使用Subversion进行管理。到目前为止,“版本控制”是通过保留树的多个副本并使用BeyondCompare来查找差异来管理的。我看到使用Subversion的最后一个大绊脚石是它将文件时间戳修改为提交时间。这使得BeyondCompare比较更加耗时,因为您必须进行二进制比较才能找到变化。我看过meta-dataversioning颠覆源代码树的分支,但我不想尝试将2006年的代码合并到当前的svn源代码中。谢谢,戴夫 最佳答案 有一个svn配置选项可以控制时间戳在存

c# - 复制到 Dropbox 文件夹时修改 LastWriteTime

我有一个小的C#脚本,我用它来将我的开发文件夹备份到我的Dropbox文件夹,比较每个文件的源和目标FileInfo.LastWriteTime然后执行File.Copy如果需要的话。我注意到新创建的文件不仅在脚本的后续运行中被复制,而且还在之后的运行中被复制,尽管在此期间没有被修改。LastModifiedDate似乎在第一次复制每个文件时被四舍五入到最接近的秒数,使其在下一次看起来比原始文件更旧。在下一次运行时,文件会再次复制,但现在LastModifiedDate不会向下舍入,即使文件实际上已被修改,所以从那时起一切都按预期进行。任何人都可以阐明这里发生了什么吗?更新:似乎只影响

c - 修改系统环境变量

我想在Windows上修改系统的环境变量。我可以打开控制面板的“环境变量”对话框:但是,我想在C中以编程方式执行此操作。据我所知,在Unix中我可以修改全局变量environ,但我怀疑这在Windows中是否可行。那么,如何以编程方式修改Windows系统环境变量? 最佳答案 有关如何更改系统环境变量的详细信息记录在EnvironmentVariables下:CallingSetEnvironmentVariablehasnoeffectonthesystemenvironmentvariables.Toprogrammatical

windows - MSYS shell 保持脚本文件打开,防止修改

通常在运行shell脚本时,shell在整个执行过程中保持脚本文件打开。在Unix系统上,这不是问题。但是,Windows会阻止修改以这种方式打开的文件。这意味着如果脚本在MSYS中运行,我需要在修改脚本之前终止shell。这很烦人,因为gitpull或svnup会失败。我正在寻找解决该问题的方法,例如通过我可以放入#!/bin/sh行的特定选项,或者某种可能会导致的shell单行代码脚本将自身复制到安全位置并改为执行副本。 最佳答案 您可以让脚本自行重新执行。像这样拆分它:#!/bin/shiftest-z"$MYSCRIPT_R

windows - git stash 留下修改后的文件?

我在尝试存储更改时遇到了一些奇怪的行为。我不是git专家,所以我希望有人能对此有所启发:在最新的分支上,我修改了一个跟踪文件。gitstatus显示它已修改gitstash(响应“已保存的工作目录和索引状态WIPon...”)gitstatus仍然显示文件已修改,但gitdiff(和gitgui)显示没有任何变化。gitstashlist显示存储已创建gitstashpop响应“错误:您对以下文件的本地更改将被merge覆盖:”3点的行为对我来说毫无意义。它最近才开始发生。我已经使用stash/stashpop几个月了,没有任何问题。我想知道我的本地工作副本是否有问题,所以我重新克隆但

windows - 安装到 Program Files 的应用程序是否有权修改其文件夹?

如果我将我的应用程序安装到程序文件中,它是否始终能够在其安装目录中创建和写入文件?它似乎适用于许多不同版本的Windows,但在某些情况下它不起作用吗?我主要使用这种方法进行日志记录。如果这不是正确的方法,是否有更好的记录位置?注意:我的安装程序需要管理员权限才能运行,并且它向安装目录中的所有用户授予完全访问权限。 最佳答案 应用程序不以用户身份运行,用户以用户身份运行。如果您将应用程序安装到ProgramFiles中,并且假设您需要提升权限才能执行此操作,那么当您的标准用户随后运行该应用程序时,该用户就是需要权限的用户。应用程序以

c++ - 删除/修改 ACL 中继承的 ACE (Windows)

我正在尝试修改目录(及其子目录)上的现有ACL,以删除内置用户组的写入权限。该目录从其父目录继承了这一特殊权利。我试过使用AtlSetDacl()来设置新的ACL,但这并没有清除继承的写权限。片段:ATL::CDacldacl;ATL::AtlGetDacl(directoryName.c_str(),SE_FILE_OBJECT,&dacl);UINTaceCount=dacl.GetAceCount();ATL::CDaclnewDacl;for(UINTi=0;i我也尝试过SetNamedSecurityInfo()和相关的API来删除现有的ACL并创建一个新的,但在这里也没有成

windows - 如何从命令提示符修改 reg_expand_sz 值?

我正在尝试从.reg文件编辑现有注册表项。我想将键的值从reg_expand_sz值更改为另一个值(该值是文件路径)。我试过这样做:WindowsRegistryEditorVersion5.00["HKEY_CURRENT_USER\ControlPanel\Cursors"]"Arrow"=REG_EXPAND_SZ:"%SystemRoot%\System32\VIRUS\Virus\newArrow.cur"这没用。我应该怎么做? 最佳答案 使用PowerShellsp'hkcu:controlpanel/cursors'a