草庐IT

if-null-then-null

全部标签

windows - 使用命令行的引用参数时如何进行条件检查(if 命令)?

在我的批处理文件中我有脚本:setmyVar=/someLabel:"%1"我想为上面的脚本编写if命令,其含义与下面相同。if{myVar=/someLabel:"%1"}else{myVar=""}我该怎么做?[编辑]用户hfs的回答对我有用。if的完整详细信息和set命令由用户DaveAnderson列出。 最佳答案 setmyVar=ifnot"%1"==""setmyVar=/someLabel:%1 关于windows-使用命令行的引用参数时如何进行条件检查(if命令)?,我

c++ - name = null 时的 getsockname 行为

我在Windows中有调用getsockname的代码如下:getsockname(*x,NULL,0)第三个参数(namelen)是IN\Out参数,包含名称缓冲区的大小,以字节为单位。返回时,namelen参数包含name参数的实际大小(以字节为单位)。现在,我的问题是,如果name等于null,namelen等于零,会发生什么?我在linux中看到,如果name为NULL,namelen被忽略,但MSDN没有提及任何关于这种情况的信息。.MSDN链接是hereLinux的IBM链接是here提前致谢 最佳答案 在您的代码中,您

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:展开为空,留下子字符串表达

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

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

windows - PINGS 的 IF 语句

我在一个小型IT部门工作,该部门在其他外部办公室有多个用户,我制作了一个基本的(Windows)PING命令批处理脚本,用于ping每个办公室以检查它们是否在线。我只是运行.bat文件并将其留在屏幕的一角。如果ping失败,它会将背景变成红色,如果成功,它会保持蓝色。内容如下:@echooffCOLOR97:startechoEXTERNALCHECKPINGwww.google.comIF%ERRORLEVEL%EQU0COLOR97IF%ERRORLEVEL%EQU1COLOR47echoSITEACHECKPINGx.x.x.xIF%ERRORLEVEL%EQU0COLOR97I

c++ - 在 WM_CREATE 中设置接口(interface)指针,在 WM_COMMAND 中变为 NULL

我正在学习COM,目前没有遵循任何特定的架构,我正在加载我自己的库而不是使用COM引擎。我在WM_CREATE中加载我的库,创建指向ISum的接口(interface)指针,hServerLib=LoadLibrary(TEXT("QIPropertiesServer.dll"));if(hServerLib==NULL){MessageBox(hwnd,TEXT("RequiredLibrarycouldnotbefound"),TEXT("Error!!"),MB_OK);DestroyWindow(hwnd);}pfnCreateComponentInstance=(PFN_FU

c - 当询问用户名时getenv返回null?

我想使用stdlib函数getenv()获取用户名,但是我总是得到NULL这是我编写的代码:#include#includemain(){char*hai;printf("ThecurrentUsernameis\n");hai="USER";printf("%s\n",getenv(hai));exit(0);}getenv()返回的值是否取决于您用来编译代码的机器,以及为什么返回值为NULL? 最佳答案 在Windows上,您需要使用getenv("USERNAME")。USER/USERNAME环境变量不是标准化的,除非您自己

Windows 批处理命令 : How to dereference FOR loop variable to check if that variable is SET in Environment Variable

我正在编写一个批处理命令脚本,其中检查环境变量。我需要通过传递所有必需的变量来编写一个FOR循环,然后验证它是否已定义,如果未定义,则提示该键的值并永久设置该变量。问题是我无法取消引用循环变量并在环境变量中检查它。示例代码如下:@ECHOOFFSETLOCALENABLEDELAYEDEXPANSIONFOR%%GIN(JBOSS_HOME,JAVA_HOME,ANT_HOME,PERFORCE_PATH,P4CLIENT)DO(ECHO.ECHO.LoopItem:%%G::CallafunctionbysendingeachvaluetocheckifitissetinENVIRO

windows - win32_physicalMemory.Capacity 在 powershell 中返回 null

这是一个非常奇怪的问题,只发生在我测试过的一台计算机上。我有以下代码行:(get-WmiObjectwin32_physicalMemory-Impersonation3-ComputerName"localhost").Capacity由于某种原因返回null。但是,在同一台计算机上,如果我运行命令:get-WmiObjectwin32_physicalMemory-Impersonation3-ComputerName"localhost"我得到了两根ram的信息,每根的容量都是8589934592(8GB)。计算机运行的是Powershell版本2,在其他计算机(Powershe

windows - Batch Then此时出乎意料

我有这个代码...echo----Beginningdownloads----remforeverypluginwithvar%%sbeingthenumberofthepluginfor/l%%sin(1,1,!plugin_counter!)do(echo.set/adl=1remIfit'sazipfileifdefinedzip_plugin_name[%%s](setzip_plugin_name_=!zip_plugin_name[%%s]!setplugin_name_=!zip_plugin_name_!.zipremOtherwise,ifitisn'tazipfil