草庐IT

Try-Except-Else-Finally

全部标签

windows - 根据批处理文件中的 IF ELSE 条件设置变量不同的值

我的目标是在x64机器上将%PF%变量设置为C:\ProgramFiles(x86)\MSBuild\,在x86机器上设置为C:\ProgramFiles\MSBuild\。我可以很容易地实现这种方式IFDEFINEDProgramFiles(x86)SETPF=%ProgramFiles(x86)%\MSBuild\IFNOTDEFINEDProgramFiles(x86)SETPF=%ProgramFiles%\MSBuild\但我想在单个IFELSE语句中完成此操作。那个IFDEFINEDProgramFiles(x86)(SETPF=%ProgramFiles(x86)%\MS

c# - 来自文本框的字符串输入 if/else

我正在尝试将来自文本框的输入用作字符串。问题是我需要它仅在填充框时使用它。我的目标是允许用户在框中输入用户名,如果该框为空,我希望它尽可能使用我的全局静态字符串。如果有更好的想法,我会支持他们我的程序使用USERNAME变量来获取用户名,但我希望用户能够在需要时在框中输入用户名。stringusername=(Environment.GetEnvironmentVariable("USERNAME"));谢谢publicpartialclassForm1:Form{//Myoriginalstrings,Thisiswhatineedtofixstaticstringconfig=Fi

windows - Try-Catch 无法捕获非终止错误 'hresult'

我需要捕获当前正在输出的跟随错误:ERROR(hresult:80070425,message:Commandexecutionfailed.)Theservicecannotacceptcontrolmessagesatthistime.来self的PowerShell脚本片段,目前没有捕捉到错误:Try{appcmdstartapppool/apppool.name:DefaultAppPool}Catch{#$ErrorMessage=$_.Exception.Message#$FailedItem=$_.Exception.ItemNameWrite-Host"AppPoolc

c++ - try catch 类变量初始化的作用域

我在尝试找到一种解决方案时遇到了困难,该解决方案允许我将对象的范围保持在main方法的本地范围内,同时捕获潜在的初始化异常。下面的伪代码试图最好地说明我的问题。intmain(){//InitialisationSomeObject*object;try{SomeObjectobj;//Initialisationcancauseanexceptionobject=&obj;}catch(SomeException&ex){//Handleexception}//objectoutofscopeundefinedbehaviour//ApplicationLogicreturn0;}我

windows - if/else 将输出重定向到批处理文件中的空变量

这是我的代码:IF"%LOGFILE%"NEQ""(CALL:DO_SOMETHING2>&1>%LOGFILE%)ELSE(CALL:DO_SOMETHING)我面临的问题是IF/ELSE语句被视为一个大语句,整个语句需要在语法上正确。因此,如果“%LOGFILE%”不等于“”,第一个CALL语句在语法上将不正确(即使在这种情况下它永远不会被调用),从而使整个IF/ELSE语句在语法上不正确。我怎样才能解决这个问题? 最佳答案 IF"%LOGFILE%"NEQ""(SETlogfile_redirection=2^>^&1^>%L

windows - 命令/电源外壳 : minimize all windows on your desktop except for current command prompt (console) or except for some particular window

好吧,我知道如何使用powershell方法从批处理文件中最小化桌面上所有打开的窗口-MinimizeAll():powershell-command"&{$x=New-Object-ComObjectShell.Application;$x.minimizeall()}"问题是:此方法最小化了所有内容,包括当前的cmd-console,在我的情况下,它应该始终对用户可见。现在,为了解决这个问题,我使用外部nircmd.exe工具和我的.bat文件的这一部分如下所示:::changecurrentcommandpromptwindowtitletitlemy-cmd-console::

python - 嵌套的 for 循环,设置变量和 if else 在批处理脚本中

我正在尝试制作一个批处理脚本,它将在文件中写入特定的IP地址。我有一个txt文件(由一个python脚本创建),其中包含一个IP地址列表(每个新行一个),现在我需要使用for循环ping每个IP,检查TTL值是否在100到128之间(windows主机)并将IP地址写入新文件。我一直在尝试调整以设置变量和for循环,但这一切都变得太复杂而无法运行。到目前为止,我已经达到:-编辑:在命令下更正for/f%iin(ip.txt)doping-n1%i|find"TTL"这将给我多行Ping输出,这里只显示单行(我使用4.2.2.2只是为了举例)Replyfrom4.2.2.2:bytes=

windows - 如何在具有多个 IF 语句的 .bat 文件中使用 ELSE 语句?

这个问题已经存在:HowtouseanIfStatementin.batfiletorunoneofMultipleoptions[duplicate]关闭5年前。我正在编写一个Windows批处理文件来启用、禁用或手动创建一个Windows服务。如果您有多个IF选项,您将如何使用ELSE语句?例如:if/I"%c%"EQU"A"goto:automaticif/I"%c%"EQU"M"goto:manualif/I"%c%"EQU"D"goto:disabled我需要一个ELSE语句来将脚本发送到ECHO行,如果用户输入除A、M或D。感谢您的帮助。

Windows 命令外壳 : if-then-else weirdness for block statements

尝试设置一个简单的构建脚本,该脚本将根据其他环境变量扩展路径。这个小脚本运行良好:echooffcallc:\vstudio\vc\bin\vcvars32.batset_ISGIT=1echocurrentpathis%PATH%ifdefined_ISGITsetPATH=c:\git\bin;%PATH%但是如果我想根据_ISGIT变量的存在执行多行,那么我认为这会起作用echooffcallc:\vstudio\vc\bin\vcvars32.batset_ISGIT=1echocurrentpathis%PATH%ifdefined_ISGIT(setPATH=c:\git\

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'