草庐IT

if判断

全部标签

Windows + Cygwin + 单行 If Else + Puppet

所以我有一个单行bash命令来检查目录是否存在。如果有,则gitpull,如果没有,则克隆存储库。我在我的Windows机器上运行Cygwin,当我在Cygwin中运行这个命令时,它运行良好:if[-dC:/repo];thencdC:/repo&&"C:/ProgramFiles(x86)/Git/bin/git.exe"pull;else"C:/ProgramFiles(x86)/Git/bin/git.exe"clone-bdevelophttps://repo.gitC:/repo;fi当我像这样从Puppet运行相同的命令时:exec{'checkoutrepository'

java - 如何判断 Java 是否作为 Windows 服务运行以及是否使用了 -Xrs 标志

我们的Java应用程序在Windows上反复出现的一个问题是客户将其作为Windows服务运行而未指定Java-Xrs标志。这样,当管理员注销Windows机器时,Java进程会收到终止信号并终止,从而导致看似随机的生产中断情况。我想在服务器日志文件和监控工具中添加一个关于此配置问题的警告。为了做到这一点,我想知道:1.我的Java应用程序是否作为Windows服务运行?2.是否将-Xrs标志指定为java.exe命令的一部分?欢迎任何关于如何实现这一目标的想法。 最佳答案 找到了如何检查-Xrs标志,仍然需要确定是否作为服务运行:

windows - 在 if 语句中使用多个操作时遇到问题

每次我使用多个Action进行编码时,它不会产生和输出并且代码根本不起作用,直到我单独给它一个Action而不是三个Action,我不知道它有什么问题,我试图将这段代码放在if语句中和/或在按下保存按钮时将其单独作为一个Action这里是代码\顺便说一句,我使用的是visualstudio2012PrivateSubbtnSave_Click(senderAsObject,eAsEventArgs)HandlesbtnSave.ClickDimPath1AsString="Backups\"DimPath2AsString=rtbTitle.Text+"\"DimFullPathAsS

c - 判断两个文件是否属于同一个卷

我在一些ntfs硬链接(hardlink)项目中工作。我想知道如何确定两个文件(具有完整路径)是否属于同一卷。 最佳答案 查找与文件关联的卷信息的几个选项:找到这两个文件的根路径,并使用GetVolumeInformation查找卷名称。打开文件句柄并将其传递给GetVolumeInformationByHandleW.请注意,GetVolumeInformationByHandleW需要Vista,即它在XP上不可用。通过比较卷序列号检查是否相等。 关于c-判断两个文件是否属于同一个卷

if语句中的Windows批处理字符串比较错误?

我试着写一个小的批处理文件,它会根据参数以不同的方式使用react。不幸的是,比较2个字符串的“if”语句似乎没有按预期工作。使用的代码是:@echooffif"%1"==""gotoUsageecho"Parameter:%1"IF/I"%1"=="START"{echo"Whythehellis%1==Start?"SETParameter=startgoto:execute}elseif/I"%1"=="STOP"{SETParameter=stopgoto:execute}echo"Parameter%1%invalid":Usageecho"Synapsis:"echo"Sw

windows - 批处理 - If 语句导致错误

我正在解析一个xml文件,它的格式如下:我可以打印图片的每个名称,但我想用里面的if语句检查一些东西。但是我得到一个错误“set"xmlFile=pictures.xml"REMsplitxmlfileintolinesfor/f"tokens=*skip=2"%%ain(%xmlFile%)do(REM%%acontaisastringlikeset"currnetLine=%%a"set"currnetLine=!currnetLine:"=+!"setcounter=0for/f"delims=+tokens=2"%%cin("!currnetLine!")do(REM%%cco

c# - 如何在 C# 中使用 TaskScheduler 设置 “run only if logged in” 和 “run as”?

我正在尝试使用c#TaskSchedulerManagedWrapper以编程方式在Windows系统上生成计划任务。我可以生成任务,但我无法让它仅在帐户登录时运行:我一直在四处寻找,我发现了去年提出的另一个SO问题,但要么有其他未提及的相关设置,要么代码库中的某些内容从那时起发生了变化:Howtoset"runonlyifloggedin"and"runas"withTaskSchedulerinC#?我认为这种方法可能是正确的,但是当我尝试它时,我收到了一条令人困惑的错误消息:TaskScheduler2.0(1.2)doesnotsupportsettingthispropert

windows - 批处理 - 启动函数的 IF ELSE 条件不管怎样都会执行

如果这里有帖子可以回答我的问题,请提前致歉,我从周五开始就一直在研究这个问题,并且一直在四处寻找。我确实发现了一些类似的问题,但没有一个是我可以应用或适应的(据我所知)。简而言之,我有一个批处理脚本,它创建一个目录的文本文件,然后该脚本在该目录中搜索一个文件。如果文件存在,它会关闭,如果文件不存在,它会运行安装程序。我的脚本atm看起来像这样:@echooffdir"C:\SomeDirectory">DIRECTORY.txttimeout5>Nulfindstr"SomeProgram.exe"DIRECTORY.txtifErrorLevel=0(@echoProgramFoun

windows - 如何判断另一个进程是否有事件的前台窗口? (Win32 API vb.net)

user32.dll提供了从进程可执行名称中获取进程id的函数,我还可以获得用户正在工作的事件窗口或前景窗口。我可以确定目标进程打开了哪些窗口吗?否则,我能否找出打开前台/事件窗口的进程的详细信息?我的代码只需要在另一个特定进程正在运行并且用户正在主动使用该窗口时运行,而该窗口是桌面上的事件窗口、前景窗口和当前焦点窗口。 最佳答案 我想你想使用GetWindowThreadProcessId或者可能EnumThreadWindows 关于windows-如何判断另一个进程是否有事件的前台

windows - 如何判断 ReadFileEx() 重叠 I/O 何时完成?

HasOverlappedIoCompleted()不适用于以ReadFileEx()开头的异步I/O和WriteFileEx().底部的代码片段演示了这一点。在此示例中,ReadFileEx()从没有输入的管道中读取数据,因此读取不会完成。但是HasOverlappedIoCompleted()返回TRUE。如果我将调用更改为重叠的ReadFile(),则HasOverlappedIoCompleted()会按预期返回FALSE。我的问题是:如何在不依赖回调本身的情况下,找出带有回调的重叠I/O请求是否已完成?在我的应用程序中,APC可能已经排队,但不一定已经运行,因为应用程序可能尚