dos命令

来源:互联网 发布:网络教学管理平台 编辑:程序博客网 时间:2024/06/09 21:00


Nslookup 是一个监测网络中DNS服务器是否能正确实现域名解析的命令行工具。它在 Windows NT/2000/XP(在之后的windows系统也都可以用的,比如win7,win8等) 中均可使用,但在Windows 98中却没有集成这一个工具。 
Nslookup 必须要安装了TCP/IP 协议的网络环境之后才能使用。 
现在网络中已经架设好了一台 DNS 服务器,主机名称为 linlin ,它可以把域名 www.company.com 解析为 192.168.0.1 的IP地址,这是我们平时用得比较多的正向解析功能。 
检测步骤如下: 
在 Windows 2000 中单击“开始”->“程序”->“附件”->“命令提示符”,在 C:\> 的后面键入 Nslookup www.t086.com ,“回车”之后即可看到如下结果: 
  Server: linlin 
  Address: 192.168.0.5 
  Name: www.t086.com 
  Address: 192.168.0.1 
  以上结果显示,正在工作的 DNS 服务器的主机名为 linlin ,它的 IP 地址是192.168.0.5 ,而域名www.company.com 所对应的 IP 地址为 192.168.0.1 。那么,在检测到 DNS 服务器 linlin 已经能顺利实现正向解析的情况下,它的反向解析是否正常呢? 也就是说,能否把IP地址192.168.0.1反向解析为域名www.t086.com ?我们在命令提示符C:\>的后面键入 Nslookup 192.168.0.1 ,得到结果如下: 
  Server: linlin 
  Address: 192.168.0.5 
  Name: www.t086.com 
  Address: 192.168.0.1 
这说明,DNS 服务器 linlin 的反向解析功能也正常。 
然而,有的时候,我们键入Nslookup www.t086.com ,却出现如下结果: 
Server: linlin 
Address: 192.168.0.5 
*** linlin can't find www.t086.com: Non-existent domain 
这种情况说明网络中DNS服务器 linlin 在工作,却不能实现域名 www.t086.com的正确解析。此时,要分析DNS服务器的配置情况,看是否 www.company.com 这一条域名对应的 IP 地址记录已经添加到了DNS的数据库中。 
还有的时候,我们键入Nslookup www.t086.com ,会出现如下结果: 
*** Can't find server name for domain: No response from server 
*** Can't find www.company.com : Non-existent domain 
这时,说明测试主机在目前的网络中,根本没有找到可以使用的 DNS 服务器。此时,我们要对整个网络的连通性作全面的检测,并检查DNS服务器是否处于正常工作状态,采用逐步排错的方法,找出 DNS 服务不能启动的根源。 
配置好DNS服务器,添加了相应的记录之后,只要IP地址保持不变,一般情况下我们就不再需要去维护DNS的数据文件了。不过在确认域名解释正常之前我们最好是测试一下所有的配置是否正常。许多人会简单地使用ping命令检查一下就算了。不过Ping指令只是一个检查网络联通情况的命令,虽然在输入的参数是域名的情况下会通过DNS进行查询,但是它只能查询A类型和CNAME类型的记录,而且只会告诉你域名是否存在,其他的信息一概欠奉。所以如果你需要对DNS的故障进行排错就必须熟练另一个更强大的工具nslookup。这个命令可以指定查询的类型,可以查到DNS记录的生存时间还可以指定使用那个DNS服务器进行解释。 


  查询IP地址 


  nslookup最简单的用法就是查询域名对应的IP地址,包括A记录和CNAME记录,如果查到的是CNAME记录还会返回别名记录的设置情况。其用法是: 
  nslookup 域名 
  以下是A记录的返回情况。 
 nslookup命令会采用先反向解释获得使用的DNS服务器的名称,由于我这里使用的是一个内部的DNS服务器所以没有正确的反向记录,导致结果的前面几行出错。大家可以不必理会。重点看的是最后的两行这里看到的是www.oray.net的IP地址是61.145.112.212。注意即使www.oray.net的主机没有在线同样能够返回结果。 
  如果目标域名是一个别名记录(CNAME),nslookup就开始显示出和ping命令不同的地方了,请看查询CNAME记录的结果。由于CNAME和A记录最后都是活的IP地址,所以一般情况下两者是等同看待的,命令的格式相同。 
  注意这次nslookup返回了三行信息,前两行显示这是一个CNAME记录,对应的域名和IP地址。最后显示的就是目标域名, 并注明Alias(别名)。如果域名不存在会怎样呢? 
  看得懂最后以行的英文吗,不懂没关系记住形状就可以了。如果一个指定类型的域名不存在对应的记录同样也是这种结果。 


  查询其他类型的域名 


  前面两个命令我们没有加任何参数,所以默认情况下nslookup查询的是A类型的记录。如果我们配置了其他类型的记录希望看到解释是否正常。这时候ping就无能为力了。比如我们配置了MX记录,但是邮件服务器只能发信不能收信,到底是域名解释问题还是其他的问题Ping命令的检查只能让你误入歧途。nslookup 这时候可以模拟你的其他遇见服务器进行域名解释的情况。我们需要在nslookup上加上适当的参数。指定查询记录类型的指令格式如下: 
  nslookup –qt=类型 目标域名 
  注意qt必须小写。 
  类型可以是一下字符,不区分大小写: 
  A 地址记录(Ipv4) 
  AAAA 地址记录(Ipv6) 
  AFSDB Andrew文件系统数据库服务器记录(不懂) 
  ATMA ATM地址记录(不是自动提款机) 
  CNAME 别名记录 
  HINFO 硬件配置记录,包括CPU、操作系统信息 
  ISDN 域名对应的ISDN号码 
  MB 存放指定邮箱的服务器 
  MG 邮件组记录 
  MINFO 邮件组和邮箱的信息记录 
  MR 改名的邮箱记录 
  MX 邮件服务器记录 
  NS 名字服务器记录 
  PTR 反向记录(从IP地址解释域名) 
  RP 负责人记录 
  RT 路由穿透记录(不懂) 
  SRV TCP服务器信息记录(将有大用处) 
  TXT 域名对应的文本信息 
  X25 域名对应的X.25地址记录 
看看oray.net的邮件服务器记录吧。 
  看看,nslookup把服务器的名称和地址都给出来了,注意preference就是前面所说的优先级,该数值越小则优先级越高。 
  我再看看名字服务器记录是怎么样的。 
  看起来和MX记录的格式差不多,一般情况下服务器会同时返回对应的地址。不过也有不返回的情况。 
  在这里我希望大家注意一行显示“Non-suthoritativeanswer:”,这一行在前面的例子中都没有显示过。它的出现代表这个结果是从服务器的缓存中得到的。所以提醒你这不是一个授权的答案。前面我们进行的几次查询过程中192.168.1.104这台机器就采用了我们第一篇文章中描述的过程查询了oray.net的域名。在这个过程中不但缓存了www.oray.net、test.oray.net以及oray.net的MX记录等最终结果。也包括获取的名字服务器等中间结果。隐含的查询了oray.net的NS记录。后面我们还会介绍这个过程。 
  指定使用的名字服务器 
  在默认情况下nslookup使用的是我们在本机TCP/IP配置中的DNS服务器进行查询,但有时候我们需要指定一个特定的服务器进行查询试验。这时候我们不需要更改本机的TCP/IP配置,只要在命令后面加上指定的服务器IP或者域名就可以了。这个参数在我们对一台指定服务器排错是非常必要的,另外我们可以通过指定服务器直接查询授权服务器的结果避免其他服务器缓存的结果。命令格式如下: 
  nslookup [-qt=类型] 目标域名 指定的DNS服务器IP或域名 
  我们可看看以下的命令结果: 
  这个命令直接从顶级域名服务器查询oray.net的NS记录。所有的二级域名的NS记录都存放在顶级域名服务器中,这是最权威的解释。注意这次没有非授权结果的提示。对于二级域名的NS记录查询来说这肯定是授权结果。顶级域名服务器的名称是a到j.gtld-servers.net共十台服务器。(gtld是Global Top Level Domain的缩写)。当我们修改域名的NS记录的时候可以通过上述查询知道修改的结果是不是已经在顶级域名服务器上生效。不过即使已经生效也可能不能正常解释,注意我在上一篇文章中提到的缓存时间的问题。 
  那么到底缓存多久呢? 


  检查域名的缓存时间 


  检查域名的缓存时间需要我们使用一个新的参数:-d 
  格式如下: 
  nslookup –d [其他的参数] 目标域名 [指定的服务器地址] 
  请看范例 
 我们忽略其他的看看Got answer后面几行,包括了一个ttl数值。这个数值就是域名记录的生存时间。 
  这种查询将整个DNS数据包的所有部分都揭示出来,大家可以看到DNS实际上并不是想象中那么简单的东西。具体的各部分解释大家可以去看看相关的标准文档。需要提醒大家的是一定要找到ANSWER:的内容,其他的东西都不是描述最终的结果。上面就不止一个地方又TTL数值 
 域名解释过程的模拟 
  我们现在来模拟一下一台DNS服务器接到一个不是自己管理的域的域名解释过程。回忆一下第一篇文章的过程: 
  首先我们会询问根服务器,然后根服务器会让我们去找对应的顶级服务器。如果查询的是oray.net,就会要求我们去找net的服务器。 
  看看下面的范例: 
  这里我们让21cn.com的服务器解释www.oicp.net的域名,很显然这台服务器不用有这个域,需要询问根服务器。一般情况下DNS服务器会帮我们完成全部的过程。这种解释方式我们称之为递归解析,为了让大家看到这个过程我家了一个参数让21cn.com的服务器不要这样做。这个参数是-norecurse。这样理论上21cn.com会让我们去问根服务器,不过由于它已经缓存了顶级服务器的记录,所以直接返回了管理net的顶级服务器记录。实际上大部分的查询都不需要从根服务器开始。大家看到了所有的顶级域名服务器的地址都被返回。 
  我们随便选择一个在进行查询。 
这次顶级服务器就返回了oicp.net的服务器地址记录的。然后我们就向这些记录之一进行查询,一定能够得到答案。可能是一个地址、一个CNAME记录或者告诉你不存在。 
  nslookup的命令就介绍到这里,其实nslookup还有许多其他参数。不过常用的就俄这么几个,另外如果大家不喜欢命令行方式的话。还有几个图形界面的nslookup功能的工具。不过大家还是需要了解域名解释都有些什么才能够正确使用这些工具。 

http://www.t086.com/article/5138


#1,system()方式

在C盘根目录下新建文件夹,名称为12: system("md c://12");  

执行时命令窗口会闪一下,看不到执行结果;

dos 自身提供了执行多条命令的功能,符号 && 代表同时执行多条命令。

如先切换到C下的12文件夹,然后执行dir命令:cd C:/12 && dir 

  暂停三秒后继续程序:ping -w 3000 w > nul

  暂停知道用户按下任意键再执行dir命令:pause && dir

 

 

#2,WinExec()方式

获得当前目录下的文件列表:WinExec("cmd.exe /c dir > result.txt", SW_HIDE);

执行结果:在当前目录新建文件result.txt,里面的内容就是dir命令的结果。

 

#3,ShellExecute()方式

打开cmd.exe然后在C盘下新建名为zzz的文件夹:ShellExecute(NULL,"open","c://WINDOWS//system32//cmd.exe","/c md c://zzz","",SW_SHOW);

ShellExecute不仅可以运行EXE文件,也可以运行已经关联的文件。  

首先必须引用shellapi.pas单元:uses ShellAPI;   

  1.标准用法  

ShellExecute函数原型及参数含义如下:

    function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,Directory: PChar; ShowCmd: Integer): HINST; stdcall; 

hWnd:用于指定父窗口句柄。当函数调用过程出现错误时,它将作为Windows消息窗口的父窗口。例如,可以将其设置为应用程序主窗口句柄,即 Application.Handle,也可以将其设置为桌面窗口句柄(用GetDesktopWindow函数获得); 

Operation:用于指定要进行的操作。其中“open”操作表示执行由FileName参数指定的程序,或打开由FileName参数指定的文件或文件夹;“print”操作表示打印由FileName参数指定的文件;“explore”操作表示浏览由FileName参数指定的文件夹。当参数设为nil时, 表示执行默认操作“open”;

FileName:用于指定要打开的文件名、要执行的程序文件名或要浏览的文件夹名;

Parameters:若FileName参数是一个可执行程序,则此参数指定命令行参数,否则此参数应为nil或PChar(0);

Directory:用于指定默认目录;

ShowCmd:若FileName参数是一个可执行程序,则此参数指定程序窗口的初始显示方式,否则此参数应设置为0。

若ShellExecute函数调用成功,则返回值为被执行程序的实例句柄。若返回值小于32,则表示出现错误。

2.特殊用法 

如果将FileName参数设置为“http:”协议格式,那么该函数将打开默认浏览器并链接到指定的URL地址。若用户机器中安装了多个浏览器,则该函数将根据Windows 9x/NT注册表中http协议处理程序(Protocols Handler)的设置确定启动哪个浏览器。

格式一:http://网站域名。

如:ShellExecute(handle, ‘open’, http:// ;  www.neu.edu.cn’ , nil, nil, SW_SHOWNORMAL); 

格式二:http://网站域名/网页文件名。

如:ShellExecute(handle, ‘open’, http:// ;  www.neu.edu.cn/default.htm’,nil,nil ,  SW_SHOWNORMAL);

如果将FileName参数设置为“mailto:”协议格式,那么该函数将启动默认邮件客户程序,如Microsoft Outlook(也包括Microsoft Outlook Express),或Netscape Messanger。若用户机器中安装了多个邮件客户程序,则该函数将根据Windows 9x/NT注册表中mailto协议处理程序的设置确定启动哪个邮件客户程序。

格式一:mailto

如:ShellExecute(handle,‘open’, ‘mailto:’, nil, nil, SW_SHOWNORMAL);打开新邮件窗口;

格式二:mailto:用户账号@邮件服务器地址

如:ShellExecute(handle, ‘open’,‘ mailto:who@mail.neu.edu.cn’, nil, nil, SW_SHOWNORMAL);打开新邮件窗口,并自动填入收件人地址;

若指定多个收件人地址,则收件人地址之间必须用分号或逗号分隔开(下同)如:ShellExecute(this->m_hWnd,"open","mailto:nishinapp@yahoo.com","","",SW_SHOW); 这个可以激活Outlook Express。

格式三:mailto:用户账号@邮件服务器地址?subject=邮件主题&body=邮件正文 

如:ShellExecute(handle, ‘open’, ‘ mailto:who@mail.neu.edu.cn?subject=Hello&Body=This is a test’, nil, nil, SW_SHOWNORMAL);  打开新邮件窗口,并自动填入收件人地址、邮件主题和邮件正文。若邮件正文包括多行文本,则必须在每行文本之间加入换行转义字符%0a。

 

#4,ShellExecute()参数

最后的那个参数,为窗口指定可视性方面的一个命令。

请用下述任何一个常数 
SW_HIDE 隐藏窗口,活动状态给令一个窗口 
SW_MINIMIZE 最小化窗口,活动状态给令一个窗口 
SW_RESTORE 用原来的大小和位置显示一个窗口,同时令其进入活动状态 
SW_SHOW 用当前的大小和位置显示一个窗口,同时令其进入活动状态 
SW_SHOWMAXIMIZED 最大化窗口,并将其激活 
SW_SHOWMINIMIZED 最小化窗口,并将其激活 
SW_SHOWMINNOACTIVE 最小化一个窗口,同时不改变活动窗口 
SW_SHOWNA 用当前的大小和位置显示一个窗口,不改变活动窗口 
SW_SHOWNOACTIVATE 用最近的大小和位置显示一个窗口,同时不改变活动窗口 
SW_SHOWNORMAL 与SW_RESTORE相同

 

#5,windows的一些常用命令

winver---------检查Windows版本 
wmimgmt.msc----打开windows管理体系结构(WMI) 
wupdmgr--------windows更新程序 
wscript--------windows脚本宿主设置 
write----------写字板 
winmsd---------系统信息 
wiaacmgr-------扫描仪和照相机向导 
winchat--------XP自带局域网聊天 

mem.exe--------显示内存使用情况 
Msconfig.exe---系统配置实用程序 
mplayer2-------简易widnows media player 
mspaint--------画图板 
mstsc----------远程桌面连接 
mplayer2-------媒体播放机 
magnify--------放大镜实用程序 
mmc------------打开控制台 
mobsync--------同步命令 

dxdiag---------检查DirectX信息 
drwtsn32------ 系统医生 
devmgmt.msc--- 设备管理器 
dfrg.msc-------磁盘碎片整理程序 
diskmgmt.msc---磁盘管理实用程序 
dcomcnfg-------打开系统组件服务 
ddeshare-------打开DDE共享设置 
dvdplay--------DVD播放器 

net stop messenger-----停止信使服务 
net start messenger----开始信使服务 
notepad--------打开记事本 
nslookup-------网络管理的工具向导 
ntbackup-------系统备份和还原 
narrator-------屏幕“讲述人” 
ntmsmgr.msc----移动存储管理器 
ntmsoprq.msc---移动存储管理员*作请求 
netstat -an----(TC)命令检查接口 

syncapp--------创建一个公文包 
sysedit--------系统配置编辑器 
sigverif-------文件签名验证程序 
sndrec32-------录音机 
shrpubw--------创建共享文件夹 
secpol.msc-----本地安全策略 
syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码 
services.msc---本地服务设置 
Sndvol32-------音量控制程序 
sfc.exe--------系统文件检查器 
sfc /scannow---windows文件保护 

tsshutdn-------60秒倒计时关机命令 
tourstart------xp简介(安装完成后出现的漫游xp程序) 
taskmgr--------任务管理器 

eventvwr-------事件查看器 
eudcedit-------造字程序 
explorer-------打开资源管理器 

packager-------对象包装程序 
perfmon.msc----计算机性能监测程序 
progman--------程序管理器 

regedit.exe----注册表 
rsop.msc-------组策略结果集 
regedt32-------注册表编辑器 
rononce -p ----15秒关机 
regsvr32 /u *.dll----停止dll文件运行 
regsvr32 /u zipfldr.dll------取消ZIP支持 

cmd.exe--------CMD命令提示符 
chkdsk.exe-----Chkdsk磁盘检查 
certmgr.msc----证书管理实用程序 
calc-----------启动计算器 
charmap--------启动字符映射表 
cliconfg-------SQL SERVER 客户端网络实用程序 
Clipbrd--------剪贴板查看器 
conf-----------启动netmeeting 
compmgmt.msc---计算机管理 
cleanmgr-------好东西整理 
ciadv.msc------索引服务程序 

osk------------打开屏幕键盘 
odbcad32-------ODBC数据源管理器 
oobe/msoobe /a----检查XP是否激活 
lusrmgr.msc----本机用户和组 
logoff---------注销命令 

iexpress-------木马捆绑工具,系统自带 

Nslookup-------IP地址侦测器 

fsmgmt.msc-----共享文件夹管理器 

utilman--------辅助工具管理器 

gpedit.msc-----组策略 
xp下运行命令大全. 

SystemrootSystemrootDocuments and Settingsusername 目录下 

appwiz.cpl------------添加删除程序 

control userpasswords2--------用户帐户设置 

cleanmgr-------垃圾整理 

CMD--------------命令提示符可以当作是 Windows 的一个附件,Ping,Convert 这些不能在图形环境下 使用的功能要借助它来完成。 

cmd------jview察看Java虚拟机版本。 

command.com------调用的则是系统内置的 NTVDM,一个 DOS虚拟机。它完全是一个类似 Virtual PC 的 虚拟环境,和系统本身联系不大。当我们在命令提示符下运行 DOS 程序时,实际上也 是自动转移到 NTVDM虚拟机下,和 CMD 本身没什么关系。 

calc-----------启动计算器 

chkdsk.exe-----Chkdsk磁盘检查 

compmgmt.msc---计算机管理 

conf-----------启动 netmeeting 

control userpasswords2-----User Account 权限设置 

devmgmt.msc--- 设备管理器 

diskmgmt.msc---磁盘管理实用程序 

dfrg.msc-------磁盘碎片整理程序 

drwtsn32------ 系统医生 

dvdplay--------启动Media Player 

dxdiag-----------DirectX Diagnostic Tool 

gpedit.msc-------组策略编辑器 

gpupdate /target:computer /force 强制刷新组策略 

eventvwr.exe-----事件查看器 

explorer-------打开资源管理器 

logoff---------注销命令 

lusrmgr.msc----本机用户和组 

msinfo32---------系统信息 

msconfig---------系统配置实用程序 

net start (servicename)----启动该服务 

net stop (servicename)-----停止该服务 

notepad--------打开记事本 

nusrmgr.cpl-------同control userpasswords,打开用户帐户控制面板 

Nslookup-------IP地址侦测器 

oobe/msoobe /a----检查XP是否激活 

perfmon.msc----计算机性能监测程序 

progman--------程序管理器 

regedit----------注册表编辑器 

regedt32-------注册表编辑器 

regsvr32 /u *.dll----停止dll文件运行 

route print------查看路由表 

rononce -p ----15秒关机 

rsop.msc-------组策略结果集 

rundll32.exe rundll32.exe %Systemroot%System32shimgvw.dll,ImageView_Fullscreen----启动一个空白的Windows 图片和传真查看器 

secpol.msc--------本地安全策略 

services.msc---本地服务设置 

sfc /scannow-----启动系统文件检查器 

sndrec32-------录音机 

taskmgr-----任务管理器(适用于2000/xp/2003) 

tsshutdn-------60秒倒计时关机命令 

winchat--------XP自带局域网聊天 

winmsd---------系统信息 

winver-----显示About Windows 窗口 



Windows XP的关机是由Shutdown.exe程序来控制的,位于Windows/System32文件夹中。如果想让Windows 2000也实现同样的效果,可以把Shutdown.exe复制到系统目录下。 

比如你的电脑要在22:00关机,可以选择“开始→运行”,输入“at 22:00 Shutdown -s”, 这样,到了22点电脑就会出现“系统关机”对话框,默认有30秒钟的倒计时并提示你保存工作。如果你想以倒计时的方式关机,可以输入 “Shutdown.exe -s -t 3600”,这里表示60 分钟后自动关机,“3600”代表60分钟。 

设置好自动关机后,如果想取消的话,可以在运行中输入“shutdown -a”。另外输入“shutdown -i”,则可以打开设置自动关机对话框,对自动关机进行设置。 

Shutdown.exe的参数,每个都具有特定的用途,执行每一个都会产生不同的效果,比如 “-s”就表示关闭本地计算机,“-a”表示取消关机操作,下面列出了更多参数, 可以在Shutdown.exe中按需使用。 

-f:强行关闭应用程序 

-m //计算机名:控制远程计算机 

-i:显示图形用户界面,但必须是Shutdown的第一个选项 

-l:注销当前用户 

-r:关机并重启 

-t 时间:设置关机倒计时 

-c "消息内容":输入关机对话框中的消息内容(不能超127个字符) 

有时候,我们需要定时关闭计算机,下面介绍一个在Windows XP下实现定时关机的简单方法。 

指定系统在22分钟后自动关闭:点击“开始→运行”,在“打开”中输入命令“Shutdown -s -t 1320”(注意:引号不输入,参数之间有空格,1320的单位是秒),单击“确定” 
按钮即可。 

指定系统在某个时间(比如12:00)自动关闭:在“打开”中输入命令 
“at 12:00 Shutdown -s”即可。 

取消定时关机:在“打开”中输入命令“Shutdown -a”即可。

http://blog.csdn.net/ypist/article/details/8485049