Articles of batch file

用换行符和回声在batch file中换行。 (^&回声。)

所以我今天才知道可以通过下面的命令设置一个换行符: set nl=^&echo. 例如: set nl=^&echo. echo Hello%nl%world 产量 Hello world 但为什么这个工作? ^&的意义是什么?

用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, […]

如何在batch file中使用符号%,&,=?

这是我为重命名文件而写的batch file。 我得到的问题是,如果文件名包括下列符号之一,该脚本不起作用。 % & = @echo off SETLOCAL set file="C:\Users\Desktop\newdocument.txt" SET file1=%file: =% FOR /f %%i IN ("%file1%") DO ( set fileextension=%%~xi ) REN %file% "newname%fileextension%"

在Windows中,2 <&1和2>&1有什么区别?

这个页面中的例子和解释让我感到困惑: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/redirection.mspx?mfr=true 使用2 <&1和2>&1有什么实际的区别? 第二种forms(2>&1)对于我来说是熟悉的,从与Unix shell的工作。 上面链接的页面有: 要查找File.txt,然后将句柄1(即STDOUT)和句柄2(即STDERR)redirect到Search.txt,请键入: findfile file.txt> search.txt 2 <&1 并且 要将所有输出(包括句柄2(即STDERR))从ipconfig命令redirect到处理1(即STDOUT),然后将输出redirect到Output.log,请键入: ipconfig.exe >> output.log 2>&1 最后,结果有没有什么不同?

用户点击退出时执行批处理代码

我正在做一些代码testing,而我偶然发现了一个我找不到或修复的问题。 我的问题是: 如果用户不小心closures了cmd窗口,我想在实际closures之前执行一个批处理代码。 例如: 我运行脚本A.bat。 当用户想要退出时,我想让它删除我的B.bat,然后closures窗口。 代码如下所示: @ECHO OFF echo Welcome to A.bat del B.bat (when user exits the window) 我在谷歌和论坛上找不到它,所以我想也许你们可以帮我一把。 在此先感谢,尼尔斯

在Windows中结合mkv(自动化,不使用GUI)

我不时从服务器收到几个mkv。 这些mkv都是同一个录音的一部分,但是它们是在1分钟的时间内完成的,而且我不想每次都花时间手工缝合在一起。 这可以通过Windows中的自动过程来完成吗? 编辑:请参阅我的答案下面的解决scheme,为我工作。 Endoro的这个post也看起来很有希望。

批处理命令将文件移动到新目录

我想写一个批处理作业,执行时将抓住C:\Test\Log文件夹中的所有文件,并将它们移动到C:\Test的新目录中。 这个新的目录将有一个名为“备份 – ”和CURRENT DATE。 所以一旦完成,日志文件夹应该是空的,现在位于新文件夹中的所有文件。 我知道我将不得不使用MOVE命令,但不知道如何dynamic创build一个新的文件夹,并使用date来命名它。