Tag: batch file

程序启动后,如何从batch file运行程序而不打开控制台?

目前我的batch file如下所示: myprogram.exe param1 程序启动,但DOS窗口仍然打开…我怎么能closures它?

遇到错误时如何使batch file终止?

我有一个batch file,用不同的参数反复调用同一个可执行文件。 如果其中一个调用返回任何级别的错误代码,我该如何立即终止? 基本上,我想要相当于MSBuild的ContinueOnError=false 。

从相对path和/或文件名parsing绝对path

有没有办法在Windows批处理脚本从包含文件名和/或相对path的值返回绝对path? 鉴于: "..\" "..\somefile.txt" 我需要相对于batch file的绝对path。 例: “somefile.txt”位于“C:\ Foo \” “test.bat”位于“C:\ Foo \ Bar”中。 用户在“C:\ Foo”中打开命令窗口并调用Bar\test.bat ..\somefile.txt 在batch file“C:\ Foo \ somefile.txt”将从%1派生

批处理脚本循环

我需要执行一个命令100-200次,到目前为止,我的研究表明我要么复制/粘贴这个命令的100个副本,要么使用for循环,但for循环需要一个项目列表,因此我将需要200个文件来操作,或200个项目的清单,因此打败了这一点。 我宁愿不必编写一个C程序,然后仔细阅读为什么我必须编写另一个程序来执行我的程序以进行testing。 我的程序本身的修改也不是一个选项。 所以,给定一个命令,<a>,如何通过批处理脚本执行N次?

捕获输出命令CMD

平台Windows XP 当写一个命令文件(.bat)时,我怎样才能将命令的输出“捕捉”到一个variables中? 我想要做这样的事情 SET CR='dir /tw /-c b.bat | findstr /B "[0-9]"' 但是这不起作用 问候Stefan PS不,我不能下载grep,cygwin或任何其他软件,它必须是CMD DS

variables与常量的batch file比较失败

我想写一个简单的代码来获得一些很好的“时间戳”。 获取时间到我的两个variablesStart和End工作正常。 我也可以打印它为0:0:0。 我想要一个前导零,如果它less于10,但显然我得到一个错误,说'参数10没有find或misstyped'。 我发现这似乎是要比较的variables,但我没有解决这个问题。 有任何想法吗? @ECHO OFF REM Time Calculation FOR /F "skip=1 tokens=1-6" %%A IN ('WMIC Path Win32_LocalTime Get Day^,Hour^,Minute^,Second /Format:table ^| findstr /r "."') DO ( set Day=%%A set Hour=%%B set Minute=%%C set Second=%%D ) set /a Start=%Day%*8640000+%Hour%*360000+%Minute%*6000+%Second%*100 @ECHO ON ping 8.8.8.8 -n 11 @ECHO OFF FOR /F "skip=1 tokens=1-6" %%A IN […]

批处理:如何在parsing输出时纠正variables覆盖不当行为

在batch file中,我正在检查Baseboard信息,其中包含以下内容: BaseboardCheck.cmd @echo off setlocal enabledelayedexpansion for /f "tokens=1,2* delims==" %%a in ('wmic baseboard get /format:list') DO ( if ["%%a"] EQU ["Product"] ( set PlatformInfo=%%b if defined PlatformInfo ( echo.!PlatformInfo! echo.!PlatformInfo!This overwrites the variable ) ) if ["%%a"] EQU ["Version"] ( set BaseboardVersion=%%b if defined BaseboardVersion ( echo.!BaseboardVersion! echo.!BaseboardVersion!This overwrites the variable ) ) […]

批量命令捕获所有可能的ping问题

我有一个关于validationping是否在批处理命令中正确返回的问题。 目前我必须检查ping 3种不同的方法来知道服务器实际上是up的。 我想把它们合并成一个单一的ping命令。 我已经尝试使用不同的错误级别或不errorlevel 0等,他们都没有抓住所有可能的情况。 这是我一直在使用的: Set /p domain=Enter IP address: set state=up @ping.exe -n 1 %domain% | find "unreachable" > null && set state=down if "%state%" == "down" goto :NoServer @ping.exe -n 1 %domain% | find "TTL expired" > null && set state=down if "%state%" == "down" goto :NoServer @ping.exe -n 1 %domain% […]

通过外部应用程序调用一个函数,而无需打开一个新的Matlab实例

有没有办法从外部调用Matlab函数,特别是通过Windows cmd (也包括Linuxterminal,LUA脚本等),而不是每次都打开Matlab的新实例? 例如在cmd : matlab -sd myCurrentDirectory -r "function(parameters)" -nodesktop -nosplash -nojvm 打开一个Matlab的新实例相对较快,并执行我的function。 打开和closures这个简化的matlab提示大约需要2秒钟(没有计算) – 因此4000次执行超过2小时。 我想避免这一点,因为被调用的函数总是位于同一个工作区。 总是可以在同一个实例中完成吗? 我已经做了一些研究,发现了MATLAB COM自动化服务器的可能性,但是对我来说似乎相当复杂,而且我没有看到使它适用于我的情况的基本步骤。 任何build议呢? 我不熟悉c/c++/c#但我正在考虑使用python (但在最坏的情况下)。

batch file删除文本文件的前三行

作为标题状态,我需要一个batch file来删除文本文件的第一行3。 例如: ABCDEFG 在这个例子中,我需要将A,B和C一起删除