Articles of batch file

用cygwin中的参数调用分号文件

我需要从CYGWIN中调用一个batch file,但是其中一个参数是一个包含分号的类似于path的string。 通常在Windows命令行中,可以用引号括起这个参数(以后需要修改)。 但是这种方法在cygwin中并没有起作用 示例批次(回显前3个参数) echo %1 echo %2 echo %3 Windows cmd调用 file.bat "a;b" c 输出继电器 "a;b" c empty Cygwin电话 ./file.bat "a;b" c 产量 a b c

运行命令时如何防止batch file(.bat)closuresterminal?

在Windows 7机器上,如果我在terminal中手动运行一个像这样的PHPUnit Selenium命令: phpunit –verbose –log-junit _selenium_tests\results\home.xml _selenium_tests\frontend\home.php 它产生了一个浏览器,并运行testing就好了。 然后在屏幕上输出以下内容: Time: 10 seconds, Memory: 3.50Mb OK (1 test, 3 assertions) terminal保持打开。 现在,如果我复制并粘贴在一个空的文件中的确切的命令,并保存为test.bat并点击它,它也运行testing。 我可以看到浏览器打开,所有的testing运行。 唯一的问题就是closuresterminal提示符之后。 所以我看不到上面的输出。 一个更大的问题是,因为它closures了terminal,如果我添加了更多的命令后,其他testing之后,他们不运行。 我试着添加: pause 在蝙蝠文件结束但没有运气,它仍然closures。 任何想法如何防止这一点,并能够运行一个接一个的命令而没有terminalclosures?

Linux的bash脚本循环

我有1.txt 2.txt和script.php 1.txt: a b c d 2.txt www rrr ttt yyy 我希望bash文件在Linux下执行这个命令: ./script.php -na -j www>>n_j.txt ./script.php -na -j rrr>>n_j.txt ./script.php -na -j ttt>>n_j.txt ./script.php -na -j yyy>>n_j.txt ./script.php -nb -j www>>n_j.txt ./script.php -nb -j rrr>>n_j.txt ./script.php -nb -j ttt>>n_j.txt . . 我有一个蝙蝠代码与wondows cmd工作..我想要一个代码,它可以使用Linux命令行 @ECHO OFF FOR /F "tokens=1 delims= " %%I IN (1.txt) […]

顶部命令第一次迭代总是返回相同的结果

当运行top -b -n 1时,该命令总是返回相同的CPU值。 考虑连续5次以下的testing: [user@server ~]$ top -b -n 5 -d.2 | grep "Cpu(s)" Cpu(s): 18.5%us, 10.0%sy, 0.0%ni, 67.0%id, 4.2%wa, 0.0%hi, 0.2%si, 0.1%st Cpu(s): 39.8%us, 27.7%sy, 0.0%ni, 31.3%id, 0.0%wa, 0.0%hi, 1.2%si, 0.0%st Cpu(s): 39.0%us, 35.4%sy, 0.0%ni, 23.2%id, 0.0%wa, 0.0%hi, 1.2%si, 1.2%st Cpu(s): 41.2%us, 34.1%sy, 0.0%ni, 15.3%id, 1.2%wa, 0.0%hi, 2.4%si, 5.9%st Cpu(s): 59.0%us, 30.1%sy, 0.0%ni, […]

用Windows批处理脚本重命名目录中的所有文件

我将如何编写一个批处理或cmd文件,将重命名目录中的所有文件? 我正在使用Windows。 改变这个: 750_MOT_Forgiving_120x90.jpg 751_MOT_Persecution_1_120x90.jpg 752_MOT_Persecution_2_120x90.jpg 753_MOT_Hatred_120x90.jpg 754_MOT_Suffering_120x90.jpg 755_MOT_Freedom_of_Religion_120x90.jpg 756_MOT_Layla_Testimony_1_120x90.jpg 757_MOT_Layla_Testimony_2_120x90.jpg 对此: 750_MOT_Forgiving_67x100.jpg 751_MOT_Persecution_1_67x100.jpg 752_MOT_Persecution_2_67x100.jpg 753_MOT_Hatred_67x100.jpg 754_MOT_Suffering_67x100.jpg 755_MOT_Freedom_of_Religion_67x100.jpg 756_MOT_Layla_Testimony_1_67x100.jpg 757_MOT_Layla_Testimony_2_67x100.jpg

如何最小化我的bat文件中的命令提示符

我有这个bat文件,当我运行它时,我想最小化cmd窗口: @echo off cd /d C:\leads\ssh call C:\Ruby192\bin\setrbvars.bat ruby C:\leads\ssh\put_leads.rb 基本上我想立即将命令窗口最小化。 任何想法如何做到这一点?

正则expression式在日志文件内匹配,返回匹配上下的dynamic内容

我有一些格式如下的catchall日志文件: timestamp event summary foo details account name: userA bar more details timestamp event summary baz details account name: userB qux more details timestamp etc. 我想searchuserB的日志文件,如果find,从前面的时间戳回显到(但不包括)下面的时间戳。 可能会有几个匹配我的search的事件。 回应某种— start —和— end —围绕每场比赛将是很好的。 这对于pcregrep -M来说是完美的,对吗? 问题是,GnuWin32的pcregrep崩溃与多行正则expression式search大文件,这些pcregrep日志可以是100兆或更多。 我试过了 到目前为止,我的解决方法是使用grep -B15 -A30来find匹配的行并打印周围的内容,然后将现在更易于pipe理的块pcregrep到pcregrep进行打磨。 问题是一些事件不到十行,而另一些事件是30或更多; 在遇到较短的事件时,我会得到一些意想不到的结果。 :parselog <username> <logfile> set silent=1 set count=0 set deez=20\d\d-\d\d-\d\d \d\d:\d\d:\d\d echo Searching %~2 for […]

DOS批处理脚本与for循环和pipe道

我想所有的文件名不包含单词“摘要”的目录中的CSV文件。 在命令提示符下,我可以input以下命令 dir /b my_dir\*.csv | find /V "summary" 当我尝试将上述命令转换为batch file时,遇到了一个问题,那就是for循环中不支持pipe命令。 那是我不能做到以下几点 FOR /f %%A in ('dir /b my_dir\*.csv | find /V "summary"') do ( rem want to do something here ) 有人能告诉我如何解决上面的问题吗? 提前致谢!

通过batch file在GIT中创build修改文件的存档

我正在使用这个git命令来创build在特定提交中修改的文件的存档: git archive -o update.zip HEAD $(git diff –name-only COMMITID^) 其中COMMITID是我要归档的提交的ID。 这从命令行工作正常,但我想从batch file运行它。 以下是我正在使用的batch file的内容: git archive -o update.zip HEAD $(git diff –name-only %1^^) 其中%1是通过SourceTree传入的提交ID。 我遇到的问题是,从batch file运行时,此命令返回以下错误: 错误:未知选项`name-only' 我猜可能会有一些字符转义的问题,但我无法find具体的中断。 我将如何编写该git命令,以便它可以从batch file中工作? UPDATE 我尝试删除–name-only选项,并通过SourceTree尝试批处理脚本时收到以下错误: 致命的:找不到path:$(git 希望这有助于缩小可能发生的事情。 进一步更新 原来我的语法只是从特定的提交抓取修改的文件,但使用msandiford的答案是错误的我想出了这个batch file脚本,完美的作品: setlocal enabledelayedexpansion set output= for /f "delims=" %%a in ('git diff-tree –no-commit-id –name-only -r %1^^') do ( […]

如何检查“.bat”文件中的命令行参数?

我的操作系统是Windows Vista。 我需要一个“.bat”文件,我需要检查用户是否input任何命令行参数。 如果那么如果参数等于-b那么我会做一些事情,否则我会标记“无效的input”。 如果用户没有input任何命令行参数,那么我会做一些事情。 我创build了以下.bat文件。 它适用于-b和不等于-b情况,但在用户不传递任何命令行参数时失败。 我总是得到错误: GOTO was unexpected at this time. 谁能告诉我我在这里做错了什么? ECHO OFF CLS ECHO. IF [%1]==[/?] GOTO BLANK IF %1=="-b" GOTO SPECIFIC IF NOT %1=="-b" GOTO UNKNOWN :SPECIFIC ECHO SPECIFIC GOTO DONE :BLANK ECHO No Parameter GOTO DONE :UNKNOWN ECHO Unknown Option GOTO DONE :DONE ECHO Done!