草庐IT

if-cases

全部标签

windows - Windows 批处理中的 if then 语句

我使用以下脚本在用户注销时删除特定的本地打印机:RUNDLL32printui.dll,PrintUIEntry/n"DYMOLabelWriter450"/dl如何对其进行修改,以便如果打印机在本地不存在,脚本将终止而不抛出错误? 最佳答案 wmicprintergetname/value|find"DYMOLabelWriter450"&&(RUNDLL32printui.dll,PrintUIEntry/n"DYMOLabelWriter450"/dl)这使用conditionalexecution或者简单地WMIC/INTE

Windows 内存管理 : check if a page is in memory

在Windows中,有没有办法检查页面是在内存中还是在磁盘(交换空间)中?我想知道这一点的原因是,如果页面在磁盘中,则通过不访问该页面来避免导致页面错误。 最佳答案 据我所知,没有记录在案的方法可以在用户模式下完成此操作。也就是说,可以在内核模式下确定这一点,但这将涉及检查属于内存管理器的页表条目——这不是您在任何类型的生产代码中真正不想做的事情.您要解决的真正问题是什么? 关于Windows内存管理:checkifapageisinmemory,我们在StackOverflow上找到一

windows - 在批处理文件中使用 "If exist/go to"

我正在尝试编写一个简单的批处理来检查一个文件,如果它存在则结束。如果文件不存在,则执行列出的任务。该批处理正常工作,但是,它似乎忽略了“IFEXIST”部分的文件并每次都重写SIP-Dir.txt。希望它看到文件并退出任何进一步的操作。我不是脚本编写者,但我曾多次使用过这样的小文件。任何帮助,将不胜感激。如果我的语法不正确,请告诉我它应该是什么。@echooffIFEXIST%temp%\SIP-Dir.txtgotoSKIPTASKKILL/F/IMCommunicator.execd%LocalAPPData%\Microsoft\communicatorfor/d%ain(sip

windows - 批处理文件 - 在 “if” 中设置变量,然后在 "set"中设置变量

我正在尝试创建一个包含一些名称的菜单。每个名称将用一个数字表示。如果我输入数字。它将打开youtube或google。我可以使用(goto)选项执行此操作,但在这种情况下,我试图用youtube或google替换单词droploc。可能吗?@echooff@echomenu@echoenter1forgoogle@echoenter2foryoutubesetgoogle=1setyoutube=2REMExample1if"%1%"=="1"(setdropLoc=1)echo%dropLoc%start"link""https://dropLoc 最佳答

windows - 批处理 IF 语句总是返回 false?

好的,所以我有这个::askSET/panswer=Hellouser.Doyouwanttousethisprogram?(y/n)IF[/i]%answer%==yGOTOyesIF[/i]%answer%==n(GOTOno)ELSE(ECHOYourinputwasnotaccepted.Pleasetryagain.&GOTOask):yes......:nopause问题是两个if语句都返回false并且它不断地询问我的输入。我想要这样,如果答案既不是y也不是n,则用户必须重新输入他们的答案。有什么帮助吗?谢谢 最佳答案

Windows批处理脚本在if条件下替换子字符串

尝试将11/22/2016替换为11222016。为此,我尝试了以下操作并按预期工作。setstring=dd/mm/yyyy.setfind=/setreplace=callsetstring=%%string:!find!=!replace!%%echo%string%输出是ddmmyyyy但是当我在if条件下尝试这样做时,它没有按预期工作。setlocalenabledelayedexpansionsetisDateFound=falsesetstring=dd/mm/yyyy.if"%isDateFound%"=="false"(echo%isDateFound%setfind

Windows Batch IF !hour! EQU "09"未返回 TRUE

我有一个每10分钟更新一次.txt文件的应用程序。每天一次,文件在0900(上午9点)之后第一次更新,我想发送该文件的电子邮件。更新后的文件(由第3行的SET命令指向)的时间戳可以是0900到0910之间的任何时间。我打算做的是每天在0857运行一个批处理文件,运行15分钟检查文件的日期戳,直到时间变​​为09,然后它发送电子邮件并完成。在下面用于测试函数的代码摘录中,我遇到了简单比较语句的问题:IF!hour!EQU"09"(GOTO:rundailymail)ELSE(Timeout/T6).尽管(根据我运行它时的回显),小时是“09”,但比较返回false。要测试它,您需要一个时

windows - 在批处理文件的 if/else 语句中使用 ")"

这是无法按预期工作的代码段:setMYMACHINENAME=BuildmasterW32if"%MYMACHINENAME%"=="BuildmasterW32"(setPROGRAMFILESDIR=D:\ProgramFilessetWISEDIR=D:\ProgramFiles\WiseInstallationStudio\WiseScriptPackageEditor)if"%MYMACHINENAME%"=="BuildmasterW64"(setPROGRAMFILESDIR=C:\ProgramFiles(x86)setWISEDIR="C:\ProgramFiles(

vb.net - If 语句和 For 循环 - 如何只取每 5 个数字?

我想做的是遍历0到100之间的数字,检查哪些可以被5整除,然后打印到控制台,这就是我目前所做的:ModuleModule1SubMain()Fori=0To100Ifi/5=ThenConsole.WriteLine(i)EndIfNextConsole.ReadLine()EndSubEndModule我想知道我是否能够使用If语句检查一系列数字,例如:Ifi/5=0to19Then这可能吗?提前致谢! 最佳答案 likethis:Ifi/5=0to19Then...您可以在For-loop中使用Step参数:ForiAsInt3

windows - 如何在 if 子句中安全地回显变量的值而跳过双引号?

运行@echooffsetlocalenabledelayedexpansionsetx=somevaluewithunsafe(^&^()")charactersinsideif1==1(echo"valueofx(!x!)isinteresting")给予"valueofx(somevaluewithunsafe(&()")charactersinside)isinteresting"我必须将要回显的值放在双引号内以避免解析错误。但是,我不想打印这些双引号。有什么方法可以暂时(只是为了安全地将它传递给echo命令)打印引用值? 最佳答案