Articles of batch file

如何从windowsbatch file中获取dynamicvariables的值

我正在使用Microsoft Windows XP [版本5.1.2600] 试图做到这一点。 尝试dynamic创buildvariables,然后从循环中读取该variables的值。 @ECHO off SET SQL1=TEST SET SQL2=TEST1 SET SQL3=TEST2 SET SQL=SQL SETLOCAL ENABLEDELAYEDEXPANSION SET /A number=0 FOR /l %%A IN (1,1,3) DO ( SET /A number = number + 1 echo !number! echo %SQL%!number! ) endlocal Output should be 1 test 2 test2 3 test3 I am getting C:\temp>c.bat 1 […]

将exec'dbatch file中的退出代码传播回ant

我需要从ant中调用sbt。 我正在做这个“exec”任务如下: <target name="publish-jar"> <exec executable="sbt.bat" failonerror="true"> <arg value="publish"/> </exec> </target> 如果sbt任务失败,我需要ant任务“失败”,这就是为什么使用failonerror="true"的原因。 但是,这不起作用。 当sbt任务失败时,ant不会报告失败的构build。 这看起来像这里讨论的问题: Ant执行结果属性不起作用 。 build议的解决方法是从sbt.bat删除“/ B”。 换句话说,改变: exit /B %ERROR_CODE% 至 exit %ERROR_CODE% 但是,正如一位评论者所说: 这样做的缺点是,如果直接运行batch file进行testing,它会终止你的shell。 你可以在batch file中使用一个if和一个arg来select\ b,当ant调用它时,select正常退出。 问:是否有一个解决scheme,当发生故障时:(1)不终止调用者的shell并且(2)将退出代码传播给ant? 更新 这是运行我的ant任务的输出。 实际的错误在这里并不重要(我故意不configuration一个版本库来发布,强制错误): C:\dev\la\sdf3\modules\test>ant publish-jar Buildfile: C:\dev\la\sdf3\modules\test\build.xml publish-jar: [exec] [info] Loading global plugins from C:\Users\jn\.sbt\0.13\plugins [exec] [info] Set current project to test […]

如何获取批处理脚本中所有子文件夹的名称?

我只想知道如何获取当前目录中的所有文件夹的名称。 例如在我目前的目录中,我有三个文件夹: 堆栈溢出 书签交易 codinghorror 然后,当我执行我的批处理脚本时,所有三个文件夹将打印在屏幕上。 我怎样才能做到这一点?

HTMLHelp编译器可以从命令行完美工作,但不能从脚本或batch file运行

我试图从脚本运行Windows帮助文件编译器( hhc.exe ),但它显示非常意外的行为。 当我从cmd.exe与hhc pathtohelpproject.hpp运行它,帮助文件编译按预期。 然而,从python调用完全相同的命令与相同的工作目录导致程序返回0,并没有输出。 但它变得更奇怪:我创build了一个batch filerunhhc.bat : hhc "pathtohelpproject.hpp" 我通过调用call runhhc.bat从python脚本call runhhc.bat , start runhhc.bat和runhhc.bat 。 所有这些都导致了相同的行为。 但是, start runhhc.bat ,cmd实例在hhc返回后仍然打开,所以我尝试再次手动input命令,但没有成功。 但是当我刚刚手动打开cmdinput命令时,它也不起作用! 事实上,一旦我closures了由我的脚本打开的cmd,它才开始工作。 这个奇怪的行为有什么解释? 我怎样才能不pipe脚本运行编译器?

batch file中的菜单

我通常不会创buildbatch file,因为我只需在运行框或命令提示符中键入需要的内容,但是我正在试图让我在Windows中访问基本实用程序,并检查一些事情(我真的不'不需要它,但我认为我的爸爸会觉得有帮助)。 我熟悉(但新)与Python,所以如果使用Python这些东西是一个更好的select,我可以做到这一点,但我认为批处理是做这样简单的事情的最好方法。 问题出在我的菜单上。 我想是因为我的菜单,在执行所选命令之前,它正在循环所有的命令。 任何与此有关的帮助将完全赞赏,批处理脚本在下面的代码框中。 echo off :menu echo This is a simple cleanup and repair utility. Please select an option: echo 1 – Check the hard disk c:\ for errors and inconsistancies. echo 2 – Renew the IP address echo 3 – View IP Address information echo 4 – Check internet connection by […]

如何创build行为如.cmd / .bat的文件扩展名?

我想这是一个奇怪的问题。 但我很好奇。这是我迄今为止所尝试的:我导出并比较[HKEY_CLASSES_ROOT\batfile] , [HKEY_CLASSES_ROOT\cmdfile] , [HKEY_CLASSES_ROOT\.bat] , [HKEY_CLASSES_ROOT\.cmd] 。 我注意到唯一的区别是在HKEY_CLASSES_ROOT\*\FrienflyTypeName这假设不是至关重要的执行。所以我创build了一个与所需的扩展名(我试图创build.scjs文件扩展名)相同的数据registry值: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.scjs] @="scjsfile" #this says that the file will contains text [HKEY_CLASSES_ROOT\.scjs\PersistentHandler] @="{5e941d80-bf96-11cd-b579-08002b30bfeb}" [HKEY_CLASSES_ROOT\scjsfile] @="Windows Batch File" "EditFlags"=hex:30,04,00,00 "FriendlyTypeName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,\ 00,6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,\ 32,00,5c,00,61,00,63,00,70,00,70,00,61,00,67,00,65,00,2e,00,64,00,6c,00,6c,\ 00,2c,00,2d,00,36,00,30,00,30,00,32,00,00,00 [HKEY_CLASSES_ROOT\scjsfile\DefaultIcon] @=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\ 00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,6d,00,\ 61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,36,\ 00,38,00,00,00 [HKEY_CLASSES_ROOT\scjsfile\shell] [HKEY_CLASSES_ROOT\scjsfile\shell\edit] [HKEY_CLASSES_ROOT\scjsfile\shell\edit\command] @=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\ 00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\ 54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,25,00,31,00,00,\ 00 #copied from batfile from HKEY_CLASSES_ROOT .Same as […]

Windows批处理:在后台运行一个进程并等待它

我需要从我的批处理作业开始2个后台进程,然后等待它们。 Unix shell模拟是: myprocess1 -flags1 & pid1=$! myprocess2 -flags2 & pid2=$! wait ${pid1} wait ${pid2} 有任何想法吗?

批处理脚本检查Java家庭和比较Java版本

您好我需要一个批处理脚本来检查是否在系统和脚本中的Java家是可用的比较Java版本 我的要求是 1.)脚本需要检查系统中是否设置了java home。我认​​为“echo%JAVA_HOME%”会执行此操作。但是如果Java Home不可用,则需要显示一条消息,显示“Java home is not available.Please在“计算机”>“属性”>“variablespath”中设置Java主目录。 2.)需要检查系统中的java版本,如果java vesion高于1.6_445,则需要在“Java版本较高的MR工具将无法安装”的消息中插入(我认为这个它需要创build一个数组,并存储Java版本值,它需要比较值。但我不知道如何编写它的代码)由于Java版本包含下划线比较将是一个艰难的任务,我认为。 目前我正在使用下面的脚本,但是完全不能满足我的要求。任何人都可以帮我做一个脚本来满足上面的要求。 回声setlocal enableextensions disabledelayedexpansion :: possible locations under HKLM\SOFTWARE of JavaSoft registry data set "javaNativeVersion=" set "java32ON64=Wow6432Node\" :: for variables :: %%k = HKLM\SOFTWARE subkeys where to search for JavaSoft key :: %%j = full path of "Java Runtime Environment" key under %%k :: […]

批量文件范围

先进的感谢您的帮助! 我有一个batch file的问题给你们。 所以我们跟上我们的一个客户的备份。 他们距离我们200多英里远。 我们通过远程桌面提供备份。 我们发现通过命令提示符使用复制function比其他任何复制/粘贴方法快得多。 负责带他们的人经常忘记这样做。 我刚刚开始使用批处理,但是我创build了一个小批处理程序,它会询问用户要把哪个文件复制过来,所以他不必“复制n:\ backups \ blah \ tsclient \ h \ backups \ blah”这可能是相当容易出错的。 以下是batch file: @echo off title Copy Zipbacks :loopagain set /p date=Enter the date that needs to be copied over (yyyymmdd format): copy h:\zipbackups\daily%date%.zipx \\tsclient\h\benton_off_site_backup\zipbackups set /p again=Copy Another Daily Zip file? (Y/N): IF "%again%"=="Y" GOTO […]

configurationcl CMD编译Windows

我已经阅读MSDN.com上,要启用命令行编译通过cl命令您必须运行vcvarsall.bat文件。 我已经在CMD中运行这个文件,并使用cl命令编译代码。 问题是我离开CMD并重新打开后,我不再有能力使用CL,每次重新打开CMD时都不得不重新运行vcvarsall.bat。 有没有办法避免这样做? 谢谢。