Articles of Windows

Win 32 API:SHFileOperation合并文件夹

我有2个文件夹: m:\folder1 和 m:\folder2 我想将folder2与folder1合并,以便只有folder1存在。 我尝试使用SHFileOperation With SHFileOp .wFunc = FO_FUNC .pFrom = "m:\folder2" .pTo = "m:\folder1" .fFlags = FO_MOVE End With …但是把m:\ folder2放到m:\ folder1 \ folder2中。 但那不是我想要的。 SHFileOperation是否是有效的方法,如果是的话,应该怎么做? 谢谢!

GNU Make在Windows下:检查PATH中的cygwin

我一直在Windows环境中为我的团队使用makefile。 我决定使用MinGW的make for Windows版本。 我把那个可执行文件和它的依赖关系放到一个应该在每个人的PATHvariables中的存储库位置。 为简单起见,该可执行文件被重命名为“make.exe”。 然后我意识到我必须考虑到有人在他们的path中有cygwin的bin文件夹的情况。 像echo,rmdir和mkdir命令将从cygwin的bin文件夹中调用echo.exe,rmdir.exe和mkdir.exe。 这意味着我需要适当地捕捉这个场景,并为每个命令使用不同的标志。 我在这里看到三个案例: Cygwin的binpath位于make.exe所在的path之前。 当一个团队成员执行make.exe时,他们将执行cygwin的make。 必须使用Unix风格的命令。 Cygwin的binpath位于make.exe在存储库中的path之后。 正确的make.exe将被执行,但是我仍然需要使用Unix风格的命令。 Cygwin没有安装或不在PATH中。 在这种情况下,我可以使用所有的Windows命令。 我对待案件1和案件2是一样的。 由于MinGW的make和cygwin的make都是基于GNU Make的,所以我认为这不是GNU Make版本之间不兼容的问题。 我们假设现在不是问题。 我已经在我的makefile中提出了以下检查。 ifneq (,$(findstring cygdrive,$(PATH))$(findstring cygwin,$(PATH))$(findstring Cygwin,$(PATH))) #Use Unix style command variables else #Use Windows style command variables endif 在pathvariables中查找“cygdrive”意味着我们最有可能出现在情况1中。在pathvariables中查找“cygwin”或“Cygwin”最有可能意味着我们遇到了情况2.在path中找不到任何string最可能意味着我们是在情况3。 我不是完全喜欢这个解决scheme,因为cygwin的文件夹可以重命名,或者可以在没有安装cygwin的情况下将string“cygwin”或“cygdrive”放在PATHvariables中。 一个队员仍然有问题,因为他在PATHvariables中有cygwin的binpath,但是上面没有提到。 我假设他将文件夹重命名为其他内容,但是我一直无法检查。 那么有没有更好的方法来找出我应该使用什么语法?

在新的string在Linux / Windows控制台input命令

我想用新的stringinput控制台命令。 FE 代替

在install4j应用程序中强制更新

我正在为Windows和Linux开发一个install4j应用程序。 我使用无声版本检查更新程序来检查应用程序每次启动时的新版本。 问题是,如果用户在更新过程的任何步骤按下取消,应用程序启动。 我不希望用户能够在没有首次更新的情况下使用该应用程序。 这可以在install4j中完成吗?

在Windows上pipe理图像

在Windows shell中运行此命令: djpeg -pnm -gray text.jpg | gocr – 按预期工作 – 图像由djpeg可执行文件解码并传递给解码内容的gocr 。 我想运行类似于Python下的这个任务 – pipePIL图像到gocr没有写临时文件。 例如,我可以指示PIL将图像以PPM格式( gocr可执行文件接受)写入标准input: im.save(sys.stdin, 'PPM') 但是任何我用pipe道和subprocess模块尝试的东西,都不给我欢乐。 有人可以build议如何通过Python来运行这个任务 – 从PILpipe道图像到可执行文件,并从标准输出获得文本输出?

从Windows事件唤醒QThread

我想要一个睡眠线程,当一个特定的USB设备被插入时会被唤醒(VID和PID与我期望的相匹配)。 如何将QThreads连接到Windows原生通知并使其工作?

将文件的caching同步到磁盘或清除内存中的文件caching

在Windows中,有任何命令行或API可以做下面的问题(对于内部硬盘)? 强制将内存中的文件caching同步到磁盘。 清除内存中的文件caching并从磁盘重新加载文件。 强制将内存中的磁盘文件caching同步到磁盘。 清除内存中的磁盘文件caching并从磁盘重新加载文件。 有没有人有类似的经历?

在Windows上显示VIM makeprg进度

当VIM使用GNU make实用工具make build时,我在默认configuration中看到两个问题。 后台执行不冻结编辑器。 显示执行进度,如emacs compile / grep命令 后台执行可以使用简单的!start或插件如dispatch或AsyncExecute等 这些选项都不会显示在构build过程中出现警告/错误的临时窗口中的进度。 有什么我失踪? search网站,我把shellpipe / tee的解决方法,即使在安装tee.exe后,似乎不能在Windows上工作

SAS EG如何在.egp WINDOWS / Linux中提取,编辑和插入程序

我有一个在Windows环境中创build.egp的场景。 作为迁移的一部分,这些需要迁移到UNIX / Linux服务器,并从EG 4.1到4.2,我们必须使程序符合LINUX / Unix标准(如字体shell)和目录path到Linux或Unix环境。 因为我们有大约300个.egp被迁移,所以如果我们使用4.2版本的迁移向导来自动将.egp转换为4.2标准,那么首先要说的是,最大的问题是如何将更改结合到sas程序中。有没有自动的方式来提取程序从.egp各个节点,编辑和插入在同一个节点。 提前致谢。

在Windows 8中的Perl

我试图让我的Windows 8机器上运行草莓Perl。 这是我第一次尝试使用perl,我正在阅读自述文件来尝试启动并运行它。 目前我已经打字了 c:\>perl 我得到访问被拒绝的消息。 我误解了自述文件还是需要进一步调整才能使其工作? 对自述的侵犯是 1. run any perl script by launching c:\> perl c:\path\to\script.pl 我也试过了 c:\>perl c:\perls\ex1.pl 其中perls是脚本ex1所在的C:上的文件夹。 也获取access denied消息。