草庐IT

windows - 如何检查批处理文件是否运行并避免双重执行?

我想制作一个批处理脚本,但我想避免双重执行。所以我试图检查它是否正在运行。我使用了以下方法,但我收到了这条消息错误:找不到进程“MyBatchTool”echooffTITLEMyBatchToolSETLOCALENABLEDELAYEDEXPANSIONtasklist/fi"imagenameeqMyBatchTool"|find":">nuliferrorlevel1echo"IsRunning"pause你有什么建议吗? 最佳答案 echooffTITLEMyBatchToolSETLOCALENABLEDELAYEDEX

c++ - 避免 DLL 版本控制问题

我有多个C++可执行程序,它们使用许多也是用C++编写的库(我有所有这些库的源代码)。我面临的问题是:当可执行EXE包含一个dllDLL时,它们可能都依赖于额外的dllDLL1和DLL2:EXE-----DLL||DLL1DLL2如果DLL1和DLL2是同一个库并且DLL2是DLL1的更新版本,我将在链接和编译方面遇到麻烦。我该如何解决这个问题?有时,由于向后兼容性问题,我不能只转储DLL1并保持最新。 最佳答案 Microsoft为WindowsXP解决了这个问题,但对“native”开发人员隐瞒了有关如何解决此问题的信息。有点吓

windows - 在断开连接的共享目录中检查文件时避免长时间延迟

检查共享目录中是否存在文件时ifexist\\10.0.0.10\disk\fileechoyes如果共享目录断开连接,我会遇到很长的延迟。我需要一种更快的方法来执行此检查。我试过几种选择pushd\\10.0.0.10\diskifexist\\10.0.0.10\disk\nulnetuse\\10.0.0.10\disk...但是在NotAcceptable长时间延迟之后所有这些都失败了有没有更快(比如不到1秒)的方法?或者是否有任何网络配置参数可以更改此超时?为澄清而编辑问题不是重新连接到特定的共享文件夹。问题是无需等待很长时间就能识别共享文件夹中的文件是否存在。这是一个bat

windows - 避免让 MSI 进入兼容模式 "Previous version of Windows"

我有一个32位应用程序的安装程序包(使用MakeMsi构建,最初是为WindowsXP而简单维护的),它无法在现代(64位)Windows系统上注册COM服务器(7、8,10).这是我在尝试正常安装MSI时看到的:ApplicationErrorExceptionEOleSysErrorinmodulexyzat000F0B01.ErroraccessingtheOLEregistry.如果我将MSI置于兼容模式以前版本的Windows,COM服务器会成功注册。由于“它正在工作”不知何故,到目前为止我没有投入太多时间来探索原因。但最后,我厌倦了一次又一次地记住我们的客户(有时也是我)这

javascript - 避免为所有项目一遍又一遍地下载 Node JS 模块

我正在学习NodeJS和Electron应用程序开发,目前我使用的每个示例应用程序都让我运行命令npminstall,这导致node_modules下载到项目文件夹。这会导致大量磁盘使用,因为许多应用一遍又一遍地使用相同的Node模块。有没有办法将所有项目所需的所有Node模块安装到一个中央位置,并使它们都使用这1个模块源?更新我的另一个问题。如果我正在构建的Electron应用程序被打包为可安装的.exe文件。当应用程序在其他用户PC上运行时,他们是否能够打包这些全局Node包所需的功能? 最佳答案 有两种安装npm包的方法:本地

windows - 如何避免使用 javafx-maven-plugin 创建可执行文件而无需 Windows 安装程序的警告?

在我们的项目中,我们使用Mavenpluginjavafx-maven-plugin为我们的JavaFX应用程序创建native可执行文件。我们的配置如下所示:com.zenjavajavafx-maven-plugin8.8.3ourcompanyfoo.bar.MainClass运行``mvnjfx:native''后,一个可执行的EXE文件被成功创建。该可执行文件没有我们想要的安装例程。但是,构建日志警告我们不要使用安装程序构建器:[INFO]Skipping'EXEInstaller'becauseofconfigurationerror'CannotfindInnoSetup

windows - 使用 Pandoc/PowerShell 选项来避免 ?代替结束双引号

我使用以下Powershell脚本将剪贴板中的原始Markdown-Plain-Text转换为可在任意浏览器中使用的可粘贴内容。我最常使用它在Gmail和Google文档中编写电子邮件。paste.exe|pandoc-fmarkdown-tHTML|Set-Clipboard-AsHtml;echo'Conversiondone.'除了结束双引号的转换之外,它一直工作得非常好。打字时,我不区分左引号和右引号;要么,是pandoc想帮忙,但有点搞砸了,或者,需要多加注意的是Set-ClipboardPowershell命令。请高手指教,放什么“魔法旗帜”,这样我就可以避免手动清理到处都

windows - 避免从锁定构建目录的东西中彻底失败(并因此构建)

Windowscmd提示符是一个罪魁祸首——我有时会cd到我的构建子目录之一来检查一些东西,除非我关闭控制台或cd到其他地方,否则我的下一个构建当然会失败,因为它不能删除构建目录。当然,我可以退出cmd提示符或cd退出,但我忘记了,在我知道之前,我的CI服务器有所有这些失败的构建就是因为这个。我可以想象Ant无法强制删除,但还有其他好的策略吗?是否可以告诉Ant尝试删除但不能失败?我知道这可能不是一个好主意,但这是我必须针对我的场景专门权衡的事情。或者至少有一个不锁定当前工作目录的cmd.exe选项或替代cmd行? 最佳答案 如果其

c - 在 Visual Studio 中避免 LNK2005 错误

我有这些文件:main.cmyLib.hmyLib.c但是当我试图编译整个项目时返回这个错误:1>myLib.obj:errorLNK2005:_start_serveralreadydefinedinmain.obj1>C:\Users\n3tpum63r\documents\visualstudio2010\Projects\NewMultiPlex2\Debug\main.exe:fatalerrorLNK1169:oneormoremultiplydefinedsymbolsfound我用谷歌搜索了一下,找到了这个"LNK2005ErrorsWhenLinkCRun-TimeL

windows - 避免在 Windows 批处理文件的 for 循环中打印

自从我上次使用Windows以来已经有很长时间了,所以我需要一些帮助来创建一个简单的脚本。简而言之,我想生成一个脚本,它根据文件列表创建一些文件。令我恼火的是,在for循环的执行过程中,在处理完第二个元素之后,我开始在代码实际执行之前在输出中看到for循环本身的代码。此外,我最后一个更改目录的命令从未执行过,我认为原因是我拥有的goto:eof语句。有人可以帮我适本地编辑脚本吗?这是脚本:@echooffset"myroot=%cd%"set"scriptsroot=%myroot%\public\javascripts"set"cdstr=Changingdirectory"echo