스크립트 프로그래밍 시작
2704 단어 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>
4
第一行表明接下来的各个命令本身并不会回显,试着把这一行去掉。第二行是一个标号,与后面的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往往表示正常结束。
过程详解:
在桌面上新建四个个文本文档。
第一个文本文档输入:
001로 저장bat.<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>
두 번째 텍스트 문서 입력:
4는 a.cpp로 저장됩니다.<span style="font-family:Comic Sans MS;">#include <stdio.h> int main() { int x,y; scanf("%d%d",&x,&y); printf("%d
",x*y); return 0; }</span>
세 번째 텍스트 문서 입력:
4는 b.cpp로 저장됩니다.<span style="font-family:Comic Sans MS;">#include <stdio.h> int main() { int x,y; scanf("%d%d",&x,&y); printf("%d
",x+y); return 0; }</span>
네 번째 텍스트 문서 입력:
4r.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
",x,y); } return 0; } </span>
Ctrl + R, cmd 를 입력하고 캐리지 리턴합니다.만약 컴퓨터에 gcc나 g++가 설치되어 있다면.
g++ a.cpp -o a
g++ b.cpp -o b
g++ r.cpp -o r
데스크톱으로 돌아가서 001을 두 번 클릭하십시오.bat.
완성