草庐IT

windows - 如何获取批处理脚本的任务计划程序上次运行结果退出代码?

我需要知道任务是否成功运行,以便我可以在应用程序日志中创建一个事件来说明这一点。有没有办法在代码中得到这个?我尝试了以下方法:echoErrorLevelof"c:\windows\system32\tasks\mytask"=%ErrorLevel%但我每次都得到0,即使我过早地停止它(0x41306)或在任务仍在运行时(应该是0x41301)。有人有什么想法吗?谢谢。我找到了一个解决方法。我没有获取任务的退出代码,而是获取了实际运行的批处理脚本的退出代码,如果它不是0,那么我将生成一个错误应用程序事件,否则它是一个成功应用程序事件。 最佳答案

windows - 批处理脚本循环变量

这很简单,我敢打赌,我想念它,而且由于嵌套循环,我感觉它没有按我需要的方式工作。这是一个简单的脚本,我从某个地方提取并进行了一些修改以允许进行更多测试。本质上,它只是一遍又一遍地对延迟的主机执行ping操作,直到您将其关闭,但记录失败的响应。一切正常,但对于我的生活,我无法弄清楚如何让它更新for循环中使用的名称。@echooffsetlocalenabledelayedexpansion::**Enternametoidentifyhostinlog**setname1=Test1setname2=Test2setname3=Test3::**EnterIPorHOSTNAMEtot

windows - 批处理脚本冒险

这是我的批处理脚本文件。有2种情况场景1@echooffsetname=set/PTypeName=Name:%=%if%TypeName%=="abcd"gotocorrectNameelsegotowrongName:correctNameechoCorrectName:end:wrongNameechoWrongName:end当我键入abcd作为输入时,我得到'else'isnotrecognizedasaninternalorexternalcommand,operableprogramorbatchfile错误的名字场景2@echooffsetname=set/PTypeN

windows - 如何以管理员身份从 Bamboo 运行批处理脚本?

有一个选项可以将脚本配置为作为Bamboo计划的一部分运行。但是,当我尝试运行特定的批处理脚本时,它失败了。当我从远程桌面实例以管理员用户身份运行它时,它不会失败。我假设问题是脚本不是以管理员身份运行,而是以Bamboo用户身份运行。有没有办法以管理员身份运行特定的批处理脚本?我将AWS的弹性EC2实例与WindowsServer2008R2结合使用。这是我当前的设置:顺便说一句,这是对这个问题的替代尝试的一部分:BootEBSvolumefromBambooinstance 最佳答案 我没用过bamboo,但是要让Windows服

windows - 批处理循环遍历具有预定义列表或扩展名集的所有文件并忽略所有其他文件类型

我有以下windows批处理脚本来遍历当前目录中的所有文件:FOR%%Fin(%CD%\*.*)DO(::Iamdoingmyprocesshere)我知道我可以使用*.ext遍历特定文件类型,但我需要遍历下面所有给定的文件类型并忽略所有其他类型,同样在单个中>FOR仅循环:phpphtmlcssjssqlxml如何通过对代码进行尽可能少的修改来实现这一点?我不是一个批处理脚本编写者,所以非常感谢任何帮助。 最佳答案 在你的批处理文件中使用这个命令行怎么样?for%%Iin(*.php*.phtml*.css*.js*.sql*.x

windows - 从外部函数批处理返回字符串

我有两个批处理文件。一个是主(调用者)文件,一个是函数。该函数采用一个参数,执行一些操作,然后我想将字符串返回给调用者(main.bat)。%ERRORLEVEL%不是一个选项,因为它只能返回整数。主.bat:callfunction.bathello函数.bat:REM一些代码......[这里是将字符串返回到调用文件的代码]看似基本操作,必有办法。另外,我不喜欢用输出制作文件并在main.bat中读取它,因为我想让它作为一个易于使用的函数工作。 最佳答案 这两个批处理文件都由同一个Windows命令处理器进程执行,因此共享所有环

windows - 在 Jenkins 中运行批处理命令

我在Windows7上运行jenkins作为一项服务。我想运行一个非常简单的工作来启动我的firefox。(例如)我配置了一个自由风格的项目并设置了“执行windows批处理命令”选项。我在这里尝试插入几个命令,但都失败了。“echohello”等命令或其他native命令按预期工作。但是像“explorer”这样的命令-应该打开提到的目录,或者“c:\firefox.lnk”(应该打开firefox)不起作用。jenkins似乎正在运行,但之后while作业因错误而失败。我如何运行这些操作?谢谢。 最佳答案 这可能是路径问题,请检

windows - CMD/windows 批处理 : how to pass a double quote and a larger than sign in a command argument?

我可以通过多种方式将双引号和大于号传递给任何命令:'"'、"\""、">"但是当我尝试将它们一起传递时C:\>echo"\">"Thesystemcannotfindthepathspecified.与"\"\>"相同。我可以使用单引号使其工作,但由于我已经处理了很多引号,所以我想保留所有内容双引号内。有什么办法可以避免吗?我在windows7上,但我相信这是一些向后兼容性“功能”,所以不确定此信息是否相关。编辑1:我认为Endoro的答案是正确的……但这并没有那么简单。CMD对^>的处理方式不同,具体取决于字符串中是否存在转义双引号。任何人都知道为什么?还是不同的转义方法?C:\>s

使用 7zip 递归提取特定文件的 Windows 批处理脚本

我有一个包含多个.tar文件的目录,其中包含多个.zip文件。树结构有点像这样:testDirectory-tarArchive.tar-directory1-zipArchive11.zipabc.XML1.TIF2.TIF...-zipArchive12.zipxyz.XMLa.TIFb.CDX......-directory2-zipArchive21.zip...-zipArchive22.zip........我需要一个批处理脚本来递归地从每个.zip中仅提取.XML,同时保持树结构(首先是所有.zip将从主.tar中提取,然后仅从每个.zip中提取.XML)。此外,处理后的

windows - 在 Windows 批处理中用双引号“比较一个字符

我想在Windows批处理文件中将单个字符与双引号"进行比较。@echooffsetlocalEnableDelayedExpansionsetvar=beforefor/f%%ain(zen.csv)do(setvar=%%aecho!var:~-1!IF"!var:~-1!"==""""(@echofound))pause结果是这样的:01"""012如您所见,批处理没有输出“found”。如何用双引号比较一个字符? 最佳答案 @echooffsetlocalEnableDelayedExpansionsetvar=before