正文内容
命令行窗口范文
来源:火烈鸟
作者:开心麻花
2025-09-19
1

命令行窗口范文(精选3篇)

命令行窗口 第1篇

自MATLAB软件6.0版以来,增加了Web应用功能,为该软件在远程应用领域提供了广阔的平台。MathWorks公司在该软件中提供了四个MATLAB Web Server Demos,分别是(1) MATLAB Matrix display;(2) Peaks Plot;(3) Simulation of Future Stock Prices;(4) Softball Statistics,在MATLAB软件安装目录下的index.html中可以找到,对于7.0版具体为:MATLAB7toolboxwebserverwsdemosindex.html。

在2001年文献[1]将如何实现MATLAB Web的应用与开发作了技术上的介绍,同样文献[2]又对MATLAB的Web技术应用与方法进行了更详细的介绍。在王宏之后开始有许多文献介绍该项技术的应用,文献[3,4,5,6,7,8,9,10,11]是发表在国内核心期刊上的部分论文,所有这些都基于MATLAB的Web功能以及强大的数值计算及数据处理功能,把两大优势进行充分的利用。然而对于利用MATLAB Web技术实现MATLAB的远程命令窗口的研究却没有涉及,所谓的远程命令窗口是指:MATLAB的command window不是在MATLAB界面中,而是在网页上,命令的执行不是在本地计算机上,而是由远程计算机(服务器)来执行。

1 设计方案

要实现远程操作,免不了要与网络服务器打交道,所以配置服务器是必备的步骤,同时还要安装MATLAB,并配置MATLAB Web服务器。与用户之间的交互,要通过网页界面来实现,所以网页还需要架构,基本框架必须包含命令窗口及输出窗口。对于命令窗口中读入的命令还需要执行,执行工作在MATLAB的command window中是由MATLAB自动执行的,但在网络中得依赖设计者所编的程序来解释、执行命令窗口中读入的语句。所以本设计工作用三个模块来实现,如图1所示。

2 方案实现原理与方法

2.1 MATLAB Web与网页浏览器的交互

MATLAB的Web实现主要由两部分完成,一部分是MATLAB Web服务器,它实际上是一个可执行的应用程序matlabserver.exe,是MATLAB应用程序运行的环境;另一部分是Web服务代理,一个可执行程序matweb.exe。它将所有对MATLAB的请求重定向到matlabserver.exe进行处理。

MATLAB Web Server的核心是MatWeb,它负责解释客户机通过HTML页面发送的请求,转换为远程MATLAB应用程序所需要的参数。接着启动一个MATLAB进程,并通过matweb.conf文件找出MATLAB程序路径,把参数传给该进程进行计算[2]。其原理如图2所示。

为了完成MATLAB Web与网页浏览器的交互,一般按如下步骤对服务器进行配置:

Step1 安装好MATLAB后,设置MATLAB Web Server每次开机时自动开启这一服务;

Step2 修改MATLAB Web Server 的系统配置文件matlabserver.conf,其路径为:MATLAB7webservermatlabserver.conf

其内容修改为:-m 1 -p 8080,这是要告诉Web服务器允许同时运行的MATLAB进程数为1(可以根据需要改变其数目),Web服务器的端口号为8080;

Step3 设置CGI的执行权限为打开,这是因为MATLAB Web Server是通过CGI方式工作的;

Step4 为网站配置应用程序信息,在网站根目录下建立一个文件夹,命名为cgi-bin,将MATLAB安装路径下的MATLAB7toolboxwebserverwsdemos文件夹中的matweb.exe和matweb.conf拷贝到cgi-bin下,其中一个是MTALAB Web代理即matweb.exe;配置文件matweb.conf是要告知MTALAB Web每一个要请求执行的MATLAB程序所在地址,包括所在的服务器及目录路径,格式为:

中括号中的webcommand表示程序webcommand.m,mlserver等号后就是服务器名称或IP地址,mldir等号后就是webcommand.m所在的路径,应为绝对路径。如果有多个程序,则只要按上述方式在matweb.conf中添加即可。在本文中webcommand程序实际上就是为了完成模块三的程序。

Step5 为图形处理功能建立一个临时文件夹,如果请求远程执行的命令要产生图形,则该图形不可能直接在网页浏览器端出现,必须暂时放在临时文件夹中,再行取出。该文件夹可以建在网站下的任何位置,当然要以方便程序找到为宜。

通过以上五步配置后,模块一建立完成,为实现MATLAB Web与网页浏览器的交互打好了基础。

2.2 网页架构

模块二的实现要架构两层窗口网页,上层定为输入窗口(命令窗口),下层定为输出窗口,图3是笔者已经完成的MATLAB远程命令窗口及输出窗口。命令行输入窗口页面包括命令行输入口,插入、添加、删除、显示结果按钮,对于图片还要进行选择,否则不输出图片。输入窗口中的文件操作部分包括读取、保存、新建文件按钮,这一部分主要是考虑实现M文件的运行、建立、调试。

2.2.1 框架的建立

建立上下两层网页框架,按如下语句建立主网页即可实现:

其中的src指定框架内的两个网页文件名,输出窗口网页随着结果不同内容不同,这里只是一个起始窗口,要将输入窗口中运行结果输出到该窗口,输入窗口网页中的target参数要设置为该窗口名称,即outputwindow。

2.2.2 输入窗口功能实现原理

为了实现输入口及按钮功能,输入窗口网页文件body中将会用到如下一些格式语句:

<form name="myForm" action="/cgi-bin/matweb.exe" method="POST" target="outputwindow">

说明:这是必备语句,说明提交运行程序给action指定的应用程序,结果输出到target指定的网页。

<input type="hidden" name="mlmfile" value="webcommand">

说明:这是必备语句,说明网页是通过隐藏传递value指定的M文件(此处为webcommand.m)。

<input type="hidden" name="rowcount">

说明:这是必备语句,说明网页是通过隐藏传递命令行行数rowcount给webcommand.m文件。

<input type="text" name="文本框名称" value=" z = peaks; ">

说明:这是用于输入命令行的文本框,本设计中name指定的文本框名称由字符"val_"和命令行序号tbIndex组成,value中的内容是文本框的初始值。其中tbIndex是命令行的行指示变量,代表的数字表示第几行,这样每一行都可以分别赋给不同的变量,且可以实现按顺序引用各行。

<input type="button" onclick="insertRow(myTable.rows.length);" value="添加行">

说明:这是按钮,点击鼠标将按onclick指定的功能执行,此处为添加行,由insertRow函数来实现,该函数由JavaScript编写。

<input type="'button" onclick="getIndex();insertRow(intRowIndex)" value="插入行">

<input type="button" onclick="getIndex();deleteRow(intRowIndex)" value="删除行">

<input type="checkbox" name="复选框名称">

说明:这是复选框,鼠标点击方框,会出现“√”,name中复选框名称和前面命令行文本框构成类似,我们用字符"isfig_"和命令行序号tbIndex组成。这个复选框主要用来检查是否要输出图片。

<input type="file" id="rfile" name="rfile"> <input type="button" onclick="readfile(rfile)" value="读取">

说明:第一个input是读文件浏览框,第二个input是读取按钮,鼠标点击后运行函数readfile。

<input type="file" id="wfile" name="wfile"><input type="button" onclick="writefile(wfile);" value="保存">

<input type=button onclick="exec(′notepad′)" value="新建m文件或文本文件">

<input type="submit" value="显示结果">

说明:这是必须的提交按钮,点击此按钮,服务器开始运行前面指定的M文件,由模块三完成。

如上格式对应产生的结果可结合图3来看,由于实际程序较长,详细的网页文件不在这里给出。这里出现的函数insertRow、deleteRow、getIndex 、readfile、writefile及exec用JavaScript语言编写置于body之前,变量tbIndex就是在删除、添加、插入的过程中计算的。

有了这些格式以后,输入窗口得以实现,并能产生诸如命令行输入的方式。其中文件的读取对象是M文件或普通txt文本文件,结果在命令行输入口逐行显示;文件的保存是把命令行中内容逐行写入已存在的文件中;新建文件是打开notepad记事本,可以新建诸如M文件、txt文件等。

2.2.3 输出窗口功能实现原理

主页面中指定的outputwindow即为输出窗口,名称及位置均已经确定,该窗口初始网页由src给出,提交按钮运行的结果须由M文件写入到指定的将要输出到该窗口的HTML文件中,该页面布局、文字说明可以先制作写好,其中要放置MATLAB程序输出变量的地方都用outhtml的形式表示,其中左右的是必须的,outhtml为MATLAB的M文件的输出变量。本设计的HTML文件如下:

<html>

<body bgcolor="#FFFFFF">

outhtml</body>

</html>

所以该模板网页是一个空架子,所有内容由outhtml决定,包括表格、图片等,可以称它为动态模板网页。

2.3 命令行执行程序

命令行执行程序,即M文件(本设计为webcommand.m),此M文件不是在MATLAB应用程序中执行,而是在MATLAB Web中执行,并要将结果写入动态模板网页,因此要用到几个用于网络开发的MATLAB函数。M文件的基本结构如下:

function rs= webcommand (h) %函数名应与程序名相同,h为结构体,其元素包括输入窗口网页提交的mlmfile、submit、mlid、mldir及其由input中指定的其它参数,名称已由其中的name给出

mlid = getfield(h,′mlid′); % mlid为进程的唯一标识

cd(h.mldir); %设置工作目录,mldir为MATLAB程序的路径

wscleanup(′ml*.jpeg′,1,′img′); %删除当前目录下用来放置图片的img目录下的所有创建时间超过1小时文件名为ml*.jpeg的图片文件,解决服务器因不断写入图片而占用硬盘空间太多的问题

f= figure(′visible′,′on′); %开辟一片新的图片空间

rowscount=str2num(h.rowscount)-1; %计算命令行的行数,注意要将h中的字符型元素转换成数字

outhtml0=[′<table border=1>′]; % outhtml0变量放置将要写入动态模板中的内容,开始建立表格

for vari=1:rowscount %开始执行每一行的命令并将结果依次写入变量outhtml0中

%做好运行前的准备工作,将输入窗口中的命令赋值给变量val,并判断命令中是否有quit和while,如有提示警告并不再执行这些命令,这样可避免MATLAB Web Server服务的退出或死循环情况出现

anstmp=evalc(val,′lasterr′); %MATLAB自带的evalc函数用来执行val中的命令,并返回正确结果,lasterr表示执行 val出错时返回错误信息,将返回结果赋给anstmp,为字符型

%此处进行格式转换,如果将anstmp的内容直接写入HTML模板中,显示的内容是没有换行和空格的,这样与command window中显示不一样,且不清晰,所以要将字符型中的换行符char(10)转换成网页中的换行符“<br>”,将空格转换成网页中的空格“ ”

if isfield(h,isfigname) %判断是否要输出图片

drawnow; %将用户最后的设置补充到图形窗口中来实现实时作图

mlid = mat2str([mlid,int2str(vari)]);

anstmpfig = sprintf(′img/%s.jpeg′,mlid); %sprintf设置图片名为ml*.jpeg,并赋值,%s代表字符ml*,*为每一次进程产生的唯一数字序号

wsprintjpeg(f,anstmpfig);

anstmpfig= sprintf(′/expriment/img/%s.jpeg′,mlid); %设置图片的映射路径

anstmpfig=mat2str([′<img src="',anstmpfig,'">′]); %写成网页引用图片格式

anstmp=mat2str([anstmp,anstmpfig]); %将图片放在命令执行结果之后

end

outhtml0=mat2str([outhtml0,′<tr><td valign="top">′,int2str(vari),′</td> <td><table><tr><td>>>′,val,′</td></tr><tr><td>′,anstmp,′</td></tr></table> </td></tr>′]); %将显示结果放置在表格中,并将内容给outhtml0变量

s.outhtml=mat2str([outhtml0,′</table>′]); %将完成的表格赋给结构s的outhtml中

close all;

templatefile = which(′output.html′); %指定输出HTML模板文件

rs = htmlrep(s,templatefile);

MATLAB的子程序htmlrep执行的具体步骤是:把结构s中outhtml的内容替换templatefile指定的HTML模板文件的outhtml,然后MATLAB Web通过服务器将此HTML送至客户端浏览器(即输出窗口)。

由以上结构设计的M文件用来完成模块三的功能。

3 实验与结果

用于实验的服务器操作系统为WIN2000,客户端浏览器版本IE6.0测试通过,除了配置内容外,服务器中要有至少四个网页文件和一个M文件。在浏览器窗口中输入主网页网址运行,就可以在网页上完成MATLAB的command window功能,主页面为frame.asp,本设计中由于设置进入时要用密码验证身份,所以是.asp网页,并且会立即转到login.asp进行验证。

利用插入行、添加行、删除行按要求输入命令后,按下“显示结果”按钮,matweb开始执行输入窗口上的所有命令,在输出窗口显示第几行、命令、以及结果,输出格式与command window中的格式完全一致(如图3、图4所示),经测试运行速度也与之相差无几。如果要求输出图片则会在结果后显示出图片,如果命令有错,会返回错误提示。图3中前面命令行由于滚动条向下拉而不见,图4经过图片连接将完整结果显示出来。在读取文件时尽量不要将非纯文本格式文件进行读取,这样会引起长时间没有反应的现象,且在命令窗口是一片乱码。

本设计主要用来完成命令窗口的功能,所以读入M文件后的处理是按命令行方式进行的,如要像MATLAB的command window一样,直接在命令行输入处输入M文件即可运行的话,则要修改配置文件matweb.conf才能实现。该命令窗口是一次性处理窗口中的所有命令,所以对于不要再运行的命令,要及时删除,而且对于命令窗口中传给MATLAB Web的内容超过256KB时将出错,所以特别要注意读入M文件的容量不能太大,还要注意命令行的输出结果容量也不能超过256KB,否则会提示出错。要运用读取、保存文件操作功能,需要设置IE浏览器菜单项的工具->internet选项->安全->自定义级别->对没有标记为安全的ActiveX控件选择“提示”或“启用”。

4 结束语

MATLAB的Web应用对远程教学、各学科教学软件的制作起着深远的影响,对工程设计及应用中要进行远程操作的功能也发挥着巨大的作用。本设计的实现为MATLAB课程的网络教学提供了广阔的前景,无需在每一台电脑中安装MATLAB即可实现MATLAB命令窗口功能。我们已经初步建立了MATLAB网络实验室,集《工程数学》、《信号与系统》、《通信原理》、《自动控制》等课程的MATLAB仿真为一体,但主要以验证性与演示性为主,有了远程命令窗口后,该实验室具有了开发、创新、设计性实验的综合功能。

参考文献

[1]王宏.MATLAB的Web应用和开发[J].计算机应用,2001,(3):89-91.

[2]高昊,曾一,涂争光,宋维平,李颖.MATLAB的Web技术应用与方法探讨[J].计算机应用,2004,(6):89- 91.

[3]李宏,宾宁.基于Matlab Web服务器的信号与系统远程教学课件[J].计算机工程,2003(19):184 -185.

[4]张宏立.基于MATLAB的Web实验平台开发[J].计算机应用与软件,2005(2):142 -144.

[5]熊凌.基于NET的MATLAB网络动态数据交换的研究与实现[J].微计算机信息,2005(8):31- 33.

[6]张林,张鹏,龚勇.基于Matlab Web Server技术的飞行数据远程综合分析系统的实现[J].电光与控制,2005(6):50 -51,69.

[7]杨晓冬,赵万生.基于Web的人工神经网络电火花加工工艺预测[J].哈尔滨工业大学学报,2005(8):1029- 1031.

[8]郭钊侠,方建安.基于Web的系统仿真技术[J].计算机工程,2005(10):228 -230.

[9]陈国强,赵俊伟.基于MATLAB Web服务器的直线度误差远程评定系统[J].机床与液压,2006(3):208 -210,213.

[10]赵剑冬,林健.MATLAB在基于Web的决策支持系统中的应用研究[J].计算机应用研究,2007(12):260- 262.

命令行窗口 第2篇

Win7命令提示窗口进行标题修改的方法

2.在打开的命令提示符窗口中,输入命令代码title[String],注意,这里需要将String替换成自己想要为命令提示符窗口设置的标题,输入之后,单击回车运行就可以了。

GHOST命令行参数 第3篇

1、-rb

本次GHOST操作结束退出时自动REBOOT,一个很有用的参数,特别是在复制系统时你可以放心离开了。

2、-fx

本次GHOST操作结束退出时自动回到DOS提示符(前提是你是以DOS命令的方式启动的GHOST)。

3、-sure

对所有要求确认的提示或警告一律回答YES。此参数有一定的危险性,只建议高级用户使用,小心为妙!

4、-fro

如果源分区发现坏簇,则略过提示强制拷贝。此参数可用来试着挽救硬盘坏道中的数据。

5、-fnw

禁止对FAT分区进行写操作,以防误操作(此参数对NTFS分区无效)。

6、-f32

将源FAT16分区拷贝后转换成FAT32(前提是目标分区不小于2G),

由于支持FAT32的操作系统很少,所以除非你是复制98分区,否则此参数慎用!

7、-f64

将源FAT16分区拷贝后转换成64K/簇(原本是512K/簇,前提是目标分区不小于2G)。此参数仅仅适用于WINDOWS NT系统,因为其他操作系统均不支持64K/簇的FAT16。

8、-fatlimit

将NT的FAT16分区限制在2G。此参数在复制WINDOWS NT分区,且不想使用64K/簇的FAT16时非常有用。

9、-span

分卷参数。当空间不足时提示复制到另一个分区的另一个IMAGE FILE。

10、-auto

分卷拷贝时不提示就自动赋予一个文件名继续执行。

11、-crcignore

相关文章
创新公共服务范文

创新公共服务范文

创新公共服务范文(精选12篇)创新公共服务 第1篇科学技术是第一生产力,科技公共服务平台对国家或区域的技术创新具有巨大的推动作用。科技...

3
2025-10-24
匆匆中学生读后有感

匆匆中学生读后有感

匆匆中学生读后有感(精选9篇)匆匆中学生读后有感 第1篇匆匆读后感500字_读《匆匆》有感当细细地品读完一本名著后,大家心中一定有不少感...

1
2025-10-24
草莓教学范文

草莓教学范文

草莓教学范文(精选17篇)草莓教学 第1篇“风儿轻轻吹,彩蝶翩翩飞,有位小姑娘上山摘草莓,一串串哟红草莓,好像……”优美的歌词,动听...

3
2025-10-24
仓储类课程范文

仓储类课程范文

仓储类课程范文(精选7篇)仓储类课程 第1篇物流产业是复合型产业,发达的物流能加速传统运输、仓储和零售等行业向现代物流服务领域延伸。...

1
2025-10-24
创造性批评:解说与解读

创造性批评:解说与解读

创造性批评:解说与解读(精选8篇)创造性批评:解说与解读 第1篇创造性批评:解说与解读作为诗性文化重要组成部分的审美批评,同文学艺术实践...

2
2025-10-24
初二地理试卷分析

初二地理试卷分析

初二地理试卷分析(精选6篇)初二地理试卷分析 第1篇莲山 课件 w ww.5 YK J.COM 4 初二地理试卷分析二、试题所体现的新课程理念和...

4
2025-10-24
常州市河海中学文明班小结

常州市河海中学文明班小结

常州市河海中学文明班小结(精选2篇)常州市河海中学文明班小结 第1篇常州市河海中学2008~2009学年第一学期 八(1)班创 文 明 班 ...

4
2025-10-24
财务负责人身份证明

财务负责人身份证明

财务负责人身份证明(精选14篇)财务负责人身份证明 第1篇财务负责人身份证明及签字样本兹证明为我公司财务负责人。特此证明。身份证复印...

3
2025-10-24
付费阅读
确认删除?
回到顶部