脚本编程入门

      下面是Windows下的批处理程序:

@echo off
:again
r > input 
a < input > output.a                    ;生成随机数
b < input > output.b
fc output.a output.b > nul          ;比较文件     
if not errorlevel 1 goto again    ;相同时继续循环</span>

     
   第一行表明接下来的各个命令本身并不会回显,试着把这一行去掉。第二行是一个标号,与后面的goto构成循环。r是数据生成器,把生成的随机数据写入到文件input中,然后执行a和b,得到相应的输出,然后用命令fc比较它们。最后一行是整个批处理的关键,只有当比较稳健相同是才goto,否则立刻终止程序。 
 

      此外,"if not errorlevel 1"是用来测试上一个程序的返回码的。“if errorlevel num”的意思是“如果返回码大于或者等于num”,因此“fi not errorlevel 1”的意思是,“如果返回码小于1”。事实上,fc程序当且仅当文件相同是返回0。如果你你不确定程序的返回码是多少,可以才程序执行完毕后echo %errorlevel%命令来输出他的返回码。返回码为0往往表示正常结束。

      过程详解:

在桌面上新建四个个文本文档。

第一个文本文档输入:

<span style="font-family:Comic Sans MS;">@echo off
:again
r > input 
a < input > output.a                    
b < input > output.b
fc output.a output.b > nul            
if not errorlevel 1 goto again </span>   
保存为001.bat。

第二个文本文档输入:

<span style="font-family:Comic Sans MS;">#include <stdio.h>
int main()
{
	int x,y;
	scanf("%d%d",&x,&y);
	printf("%d\n",x*y);
	return 0;
}</span>
保存为a.cpp。

第三个文本文档输入:

<span style="font-family:Comic Sans MS;">#include <stdio.h>
int main()
{
	int x,y;
	scanf("%d%d",&x,&y);
	printf("%d\n",x+y);
	return 0;
}</span>
保存为b.cpp。

第四个文本文档输入:

<span style="font-family:Comic Sans MS;">#include <stdio.h>  
#include <time.h>  
#include <stdlib.h>  
int n=10,m=100;  
double random()  
{  
    return (double)rand()/RAND_MAX;  
}  
int random(int m)  
{  
    return (int)(random()*(m-1)+0.5);  
}  
int main()  
{  
    srand(time(NULL));  
    int cas=100;  
    while (cas--)  
    {  
        int x=random(n),y=random(m);  
        printf("%d %d\n",x,y);  
    }  
    return 0;  
}  </span>
保存为r.cpp。

Ctrl + R ,输入cmd,回车。如果电脑上已经安装gcc或者g++。

g++ a.cpp -o a

g++ b.cpp -o b

g++ r.cpp -o r

回到桌面上,双击001.bat。

完成。









你可能感兴趣的:(Windows脚本)