草庐IT

while语句

全部标签

windows - 命令不在 .BAT if 语句中执行

我有一个批处理文件,它将检查CPU架构(32位或64位),并相应地执行命令。它将找到特定的文件夹并执行某些.exe文件。我的问题是,如果我在if语句中有一个语句,例如。'echoSometext',它会显示正常,这意味着对架构的检查没有问题。但是只要我的If语句中有多个命令,批处理文件就会立即退出。到目前为止我的代码:@echooffSET"ARCH=x64"IFNOTEXIST"%SystemRoot%\SysWOW64\cmd.exe"(IFNOTDEFINEDPROCESSOR_ARCHITEW6432SET"ARCH=x86")IF"%ARCH%"=="x64"(cd\cdPr

windows - Powershell If 语句不接受多个 OR 条件

我有一个处理大量DNSA记录的powershell脚本,我正在尝试过滤掉默认记录(即“@”、“ForestDNSZones”等)。只是用一个简单的if语句来尝试这个似乎不起作用。代码示例:$zoneARecords=Get-DnsServerResourceRecord-ComputerName$DNSserver-ZoneName$zoneName|?{$_.RecordType-eq"A"}foreach($recordin$zoneARecords){$hostName=$record.HostNameif($hostName-ine"gc"-or"DomainDnsZones"

windows - 批处理文件,字符串变量比较,if语句

我试图用一个简单的字符串来比较一个文件的日志,但是它没有进入if比较。我在echo语句中将“connectfailed”作为我的第二个令牌,但没有得到if语句的任何结果。@echooffremstartcmd.exefor/f"tokens=2delims=:"%%nIN(C:\Users\rohit.bagjani\Desktop\result\telnetresult.txt)DO(SETstr1="Connectfailed"echo%%nif\i%str1%==%%necho"true")echo.pause 最佳答案 第一

windows - 丢失批处理文件 FOR 语句的 (set) 元素中命令的错误输出

我有一个批处理文件,它在git存储库上执行gitpull。我想在控制台窗口和日志文件中查看输出。我在批处理文件中有一堆脚本代码可以让我进入正确的目录,然后它运行以下命令:FOR/F"tokens=*"%%fIN('gitpull--ff-only')DO(SETz=%%fECHO!z:^|=^^^|!2>&1|C:\Bin\tee.exe-a%logFile%)tee.exe是一个小程序,它将输出发送到控制台和指定的日志文件。只要git命令成功,这就可以正常工作。我在控制台和日志文件中都看到了更改文件等的列表。但是,如果git命令生成错误,例如pull会覆盖本地更改,我会在控制台窗口中

windows - 使用 telnet 命令的批处理脚本中的条件语句

您好,我不太了解Windows脚本,但我有这种情况,我需要使用不同的协议(protocol)连接到我的电子邮件服务器进行测试,并且我需要不断地远程登录那些,这是非常无用的事情一次又一次地做所以我想我应该写一个Windows脚本,这样我就可以自动一遍又一遍地输入相同的东西。这是我目前所拥有的:echoofftitleLogintoMailusingIMAP,POP3andSMTPechoPleaseentertheprotocolrequired(POP3=1,IMAP=2,SMTP=3)&set/Pid=EnterValue:echoYouhaveselectedoption:%id%

windows - 如果语句嵌套在 for 循环中,则批处理错误 "( unexpected"

每当窗口标题为“广告”时,我编写了这个小脚本来终止Spotify。现在,它只查找spotify.exe进程,如果窗口名称匹配,则将其杀死(下一步是每秒执行一次)。但是,我每次执行它都会出错,告诉我在IF/i"%A:~0,4"(中有一个意外的(,但是这样语句不在我的代码中:Windows似乎在执行它之前修改了IF/i"%%A:~0,4%"=="PID:"(。这是脚本:@ECHOOFFSETLOCALENABLEDELAYEDEXPANSIONtasklist/fi"imagenameeqspotify.exe"/folist/v>tmp.txtFOR/F"usebackqtokens=*

c++ - 跨两个 DLL 的 `using` 语句

我在一个DLL中定义了一个类,其中某个成员被重载了。第二个DLL导入该类,从它继承并导出继承的类。继承的类覆盖了上述成员的重载之一,因此失去了所有其他重载。据我所知,这个问题的解决方案通常是使用using语句(usingBaseClass::OverloadedMember;),但鉴于这种情况,我得到了一个错误C2487:“BaseClass::OverloadedMember”:dll接口(interface)类的成员不能用dll接口(interface)声明(VC++)。我该如何解决这个问题? 最佳答案 我将从新的DLL/类中导

C# - 将文本文件中的行导入 Process.Start 语句

我目前正在尝试将文本文件中的可执行文件列表导入到语句中:privatevoidbutton19_Click(objectsender,EventArgse){Process.Start("test.exe",);}所以如果一个名为process.txt的文本文件包含:notepad.execalc.exe我最终会得到:Process.Start("test.exe",notepad.exe);和Process.Start("test.exe",cacl.exe); 最佳答案 这应该是你所追求的,迈克尔。foreach(stringe

windows - 揭秘 Windbd 内存使用标签 : "Private Working Set" is large while memory is marked as RegionUsageFree

运行后,我看到我的应用程序在TaskMgr中占用了3.5Gb我在Windbg中看到的内容有点令人困惑:0:022>!address-summaryProcessParametrs0000000001b7ed70inrange0000000001b7e0000000000001b80000Environment0000000001c0c970inrange0000000001c0c0000000000001c0e000--------------------UsageSUMMARY--------------------------TotSize(KB)Pct(Tots)Pct(Busy

windows - 批量条件错误也执行if语句

SETvar=%6IFNOT"%var%"==""(@ECHO"ijklkmn"EXITIF%var:~-2,1%==\SETvar=%var:~0,-2%")如果%6未定义,则@ECHO"ijklkmn"不会执行。但为什么我仍然得到Thereshouldbeno1var:~0。错误??? 最佳答案 有一些批处理的复杂性导致了您的问题。1)括号内的block在一次传递中被解析。在执行IF测试之前,您的整个IFblock必须解析为有效语法。2)如果变量未定义,子字符串扩展会做一些奇怪的事情。解析器将%var:展开为空,留下子字符串表达