免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5311 | 回复: 16
打印 上一主题 下一主题

☆DOS命令集☆ [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2002-10-20 21:25 |只看该作者 |正序浏览
写在前面的话\r\n\r\n学习微软的产品,我们还是从DOS开始吧,这里由我们版主每天提供一篇技术文章的学习,或者一个命令的具体应用,谢谢大家的支持[/COLOR][/SIZE]

论坛徽章:
0
17 [报告]
发表于 2005-09-04 11:31 |只看该作者

Help Me

各位大侠有没有在PC dos 下使用的date  命令的详解!谢谢!我的QQ:290337666

论坛徽章:
0
16 [报告]
发表于 2003-07-22 22:36 |只看该作者
最初由 eygle 发布\r\n[B]\r\n\r\n这位兄弟,本人才疏学浅,耽误你时间了。\r\n以后本人不会再写了。\r\n\r\n谢谢指点。 [/B]
\r\n\r\n\r\neygle,何必在意,我们都很支持你的,的确你也给了我们很多有用的技术文档,像我这样功底不深的,能学到很多东西。

论坛徽章:
0
15 [报告]
发表于 2002-12-08 11:33 |只看该作者
最初由 chineran 发布\r\n[B]只有参数和翻译的就别贴上来了 [/B]
\r\n\r\n这位兄弟,本人才疏学浅,耽误你时间了。\r\n以后本人不会再写了。\r\n\r\n谢谢指点。

论坛徽章:
0
14 [报告]
发表于 2002-12-07 23:06 |只看该作者
只有参数和翻译的就别贴上来了

论坛徽章:
0
13 [报告]
发表于 2002-12-07 18:00 |只看该作者
Find命令的用法:\r\n\r\n使用Oracle的时候常常想,在NT上类似于UNIX里的grep的命令是什么呢?\r\n查了一下,其实find命令就可以实现这个类似的功能。\r\n\r\n\r\n\r\n1.系统帮助\r\n\r\nC:\\>find /?\r\n在文件中搜索字符串。\r\n\r\nFIND [/V] [/C] [/N] [/I] \"string\" [[drive:][path]filename[ ...]]\r\n\r\n  /V        显示所有未包含指定字符串的行。\r\n  /C        仅显示包含字符串的行数。\r\n  /N        显示行号。\r\n  /I        搜索字符串时忽略大小写。\r\n  \"string\"  指定要搜索的文字串,\r\n  [drive:][path]filename\r\n            指定要搜索的文件。\r\n\r\n如果没有指定路径,FIND 将搜索键入的或者由另一命令产生的文字。\r\n\r\n2.举例\r\n/N 参数显示行号\r\n\r\nC:\\oracle\\RDBMS\\ADMIN>dir *.lis\r\n 驱动器 C 中的卷是 本地磁盘\r\n 卷的序列号是 402A-3A7E\r\n\r\n C:\\oracle\\RDBMS\\ADMIN 的目录\r\n\r\n2002-11-07  22:41                2,578 spauto.lis\r\n2002-11-07  22:29                  204 spcpkg.lis\r\n2002-11-07  22:29                2,276 spctab.lis\r\n2002-11-07  22:28                2,630 spcusr.lis\r\n2002-11-07  22:28                7,316 spdtab.lis\r\n               5 个文件         15,004 字节\r\n               0 个目录    484,114,432 可用字节\r\n\r\nC:\\oracle\\RDBMS\\ADMIN>find /N \"error\" spctab.lis\r\n\r\n---------- SPCTAB.LIS\r\n[336]SPCTAB complete. Please check spctab.lis for any errors.\r\n\r\nC:\\oracle\\RDBMS\\ADMIN>find /N \"error\" spcpkg.lis\r\n\r\n---------- SPCPKG.LIS\r\n[13]SPCPKG complete. Please check spcpkg.lis for any errors.\r\n\r\nC:\\oracle\\RDBMS\\ADMIN>find /N \"ORA-\" spdtab.lis\r\n\r\n---------- SPDTAB.LIS\r\n[3]ORA-00900: 无效 SQL 语句\r\n[6]ORA-01432: 要删除的公用同义词不存在\r\n[9]ORA-02289: 序列(号)不存在\r\n[12]ORA-01432: 要删除的公用同义词不存在\r\n[15]ORA-00942: 表或视图不存在\r\n[18]ORA-01432: 要删除的公用同义词不存在\r\n[21]ORA-00942: 表或视图不存在\r\n[24]ORA-01432: 要删除的公用同义词不存在\r\n\r\n在UNIX下,我们要用grep命令:\r\n\r\n$ grep ORA- *.lis\r\nspdtab.lis:ORA-00900: 无效 SQL 语句\r\nspdtab.lis:ORA-01432: 要删除的公用同义词不存在\r\nspdtab.lis:ORA-02289: 序列(号)不存在\r\nspdtab.lis:ORA-01432: 要删除的公用同义词不存在\r\nspdtab.lis:ORA-00942: 表或视图不存在\r\nspdtab.lis:ORA-01432: 要删除的公用同义词不存在\r\nspdtab.lis:ORA-00942: 表或视图不存在\r\nspdtab.lis:ORA-01432: 要删除的公用同义词不存在\r\n\r\n同样在NT下,find命令也支持多个文件输入\r\n\r\nC:\\oracle\\RDBMS\\ADMIN>find \"ORA-\" *.lis\r\n\r\n---------- SPAUTO.LIS\r\n\r\n---------- SPCPKG.LIS\r\n\r\n---------- SPCTAB.LIS\r\n\r\n---------- SPCUSR.LIS\r\n\r\n---------- SPDTAB.LIS\r\nORA-00900: 无效 SQL 语句\r\nORA-01432: 要删除的公用同义词不存在\r\nORA-02289: 序列(号)不存在\r\nORA-01432: 要删除的公用同义词不存在\r\nORA-00942: 表或视图不存在\r\nORA-01432: 要删除的公用同义词不存在\r\nORA-00942: 表或视图不存在\r\nORA-01432: 要删除的公用同义词不存在\r\n\r\n看,基本上达到了同样的效果。\r\n\r\n2.管道和重定向\r\n\r\n通过使用管道和重定向,find和其它命令结合可以得到其它你想要的效果。\r\n\r\n假定需要 find 命令搜索硬盘,以查找并显示在驱动器 C 上包含字符串“CPU”的文件名要执行该操作,可以使用管道 (|) 将 dir 命令的结果定向到 find,如下例所示: \r\n\r\ndir c:\\ /s /b | find \"CPU\" \r\n\r\n因为 find 搜索区分大小写并且 dir 产生的输出是大写的,所以必须用大写字母键入“CPU”或者使用带有/i 开关的 find。 \r\n\r\n随便说说,个人的一点心得,希望对大家有点用处!

论坛徽章:
0
12 [报告]
发表于 2002-11-25 22:57 |只看该作者

tlist命令

tlist命令\r\n\r\n这是Windows2000 ResourceKit中提供的工具,很有用,给大家简单介绍一下这个命令的用法\r\n1.系统帮助\r\nC:\\>tlist /?\r\nMicrosoft (R) Windows NT (TM) Version 5.1 TLIST\r\nCopyright (C) Microsoft Corp. 1981-1999\r\n\r\nusage: TLIST <<-m <pattern>> | <-t> | <pid> | <pattern> | <-p <processname>>>\r\n           [options]:\r\n           -t\r\n              Print Task Tree\r\n\r\n           <pid>\r\n              List module information for this task.\r\n\r\n           <pattern>\r\n              The pattern can be a complete task\r\n              name or a regular expression pattern\r\n              to use as a match.  Tlist matches the\r\n              supplied pattern against the task names\r\n              and the window titles.\r\n\r\n           -m <pattern>\r\n              Lists all tasks that have DLL modules loaded\r\n              in them that match the given pattern name\r\n\r\n           -s\r\n              Show services active in each process.\r\n\r\n           -p <processname>\r\n              Returns the PID of the process specified or -1\r\n              if the specified process doesn\'t exist.  If there\r\n              are multiple instances of the process running only\r\n              the instance with the first PID value is returned.\r\n\r\n2. -t参数\r\n\r\n-t参数以树的形式列出了进程结构包括进程号\r\n\r\nC:\\>tlist -t\r\nSystem Process (0)\r\nSystem (\r\n  SMSS.EXE (160)\r\n    CSRSS.EXE (184)\r\n    WINLOGON.EXE (204) NetDDE Agent\r\n      SERVICES.EXE (232)\r\n        svchost.exe (400)\r\n        svchost.exe (444)\r\n        spoolsv.exe (48\r\n        msdtc.exe (520)\r\n        inojobsv.exe (636)\r\n        LLSSRV.EXE (664)\r\n        mdm.exe (692)\r\n        mstask.exe (756) SYSTEM AGENT COM WINDOW\r\n        SkSockServer.ex (80\r\n        stisvc.exe (912)\r\n        svchost.exe (940) ModemDeviceChange\r\n        ums.exe (960)\r\n          init.exe (980)\r\n        WinMgmt.exe (1012)\r\n        mspmspsv.exe (102\r\n        dfssvc.exe (1052)\r\n        svchost.exe (108\r\n      LSASS.EXE (244)\r\n      taskmgr.exe (1592) Windows 任务管理器\r\ninetd.exe (1340)\r\nat.svc (1444)\r\nexplorer.exe (640) Program Manager\r\n  rundll32.exe (1656) CnsMain\r\n  CTFMON.EXE (916)\r\n  msnmsgr.exe (524) Animated BMP Sequence\r\n  realmon.exe (88 KILL 实时管理器\r\n  Uedit32.exe (1736) UltraEdit-32 - [E:\\inittest.txt]\r\n  PLSQLDev.exe (152 PL/SQL Developer - eqsp@hhtest\r\n  mstsc.exe (1892) CB Viewer Window\r\n  mstsc.exe (190\r\n  MyIE.exe (1700)\r\n    pyintau.exe (296) PYJJ210INTAU\r\n  CMD.EXE (1880) 命令提示符 - tlist -t\r\n    tlist.exe (1472)\r\nconime.exe (1716)\r\n\r\n然后我们Kill个进程试试看\r\n\r\nC:\\>kill 1736\r\nprocess Uedit32.exe (1736) - \'UltraEdit-32 - [E:\\inittest.txt]\' killed\r\n\r\nC:\\>tlist -t\r\nSystem Process (0)\r\nSystem (\r\n  SMSS.EXE (160)\r\n    CSRSS.EXE (184)\r\n    WINLOGON.EXE (204) NetDDE Agent\r\n      SERVICES.EXE (232)\r\n        svchost.exe (400)\r\n        svchost.exe (444)\r\n        spoolsv.exe (48\r\n        msdtc.exe (520)\r\n        inojobsv.exe (636)\r\n        LLSSRV.EXE (664)\r\n        mdm.exe (692)\r\n        mstask.exe (756) SYSTEM AGENT COM WINDOW\r\n        SkSockServer.ex (808)\r\n        stisvc.exe (912)\r\n        svchost.exe (940) ModemDeviceChange\r\n        ums.exe (960)\r\n          init.exe (980)\r\n        WinMgmt.exe (1012)\r\n        mspmspsv.exe (1028)\r\n        dfssvc.exe (1052)\r\n        svchost.exe (1088)\r\n      LSASS.EXE (244)\r\n      taskmgr.exe (1592) Windows 任务管理器\r\ninetd.exe (1340)\r\nat.svc (1444)\r\nexplorer.exe (640) Program Manager\r\n  rundll32.exe (1656) CnsMain\r\n  CTFMON.EXE (916)\r\n  msnmsgr.exe (524) Animated BMP Sequence\r\n  realmon.exe (888) KILL 实时管理器\r\n  PLSQLDev.exe (1528) PL/SQL Developer - eqsp@hhtest\r\n  mstsc.exe (1892) CB Viewer Window\r\n  mstsc.exe (1908)\r\n  MyIE.exe (1700)\r\n    pyintau.exe (296) PYJJ210INTAU\r\n  CMD.EXE (1880) 命令提示符 - tlist -t\r\n    tlist.exe (1756)\r\nconime.exe (1716)\r\n\r\n看这和Unix下是不是差不多了,很多事情我们都可以在命令行下完成了.\r\n\r\n3. -s参数\r\n\r\n这个参数按进程显示.详细列出每个进程里包含的服务.\r\n\r\n看看这个参数的输出\r\n\r\nC:\\>tlist -s\r\n   0 System Process\r\n   8 System\r\n 160 SMSS.EXE\r\n 184 CSRSS.EXE       Title:\r\n 204 WINLOGON.EXE    Title: NetDDE Agent\r\n 232 SERVICES.EXE    Svcs:  \r\n\r\nAlerter,AppMgmt,Browser,Dhcp,dmserver,Dnscache,Eventlog,lanmanserver,lanmanworkstation,LmHts,Messenger,PlugPlay,ProtectedStor\r\n\r\nage,seclogon,TrkWks,Wmi\r\n 244 LSASS.EXE       Svcs:  SamSs\r\n 400 svchost.exe     Svcs:  RpcSs\r\n 444 svchost.exe     Svcs:  EventSystem,Irmon,Netman,NtmsSvc,RasMan,SENS,SharedAccess\r\n 488 spoolsv.exe     Svcs:  Spooler\r\n 520 msdtc.exe       Svcs:  MSDTC\r\n 636 inojobsv.exe    Svcs:  KILL Anti-Virus Server\r\n 664 LLSSRV.EXE      Svcs:  LicenseService\r\n 692 mdm.exe         Svcs:  MDM\r\n 756 mstask.exe      Svcs:  Schedule\r\n 808 SkSockServer.ex Svcs:  SkServer\r\n 912 stisvc.exe      Svcs:  StiSvc\r\n 940 svchost.exe     Svcs:  TapiSrv\r\n 960 ums.exe         Svcs:  UWIN_MS\r\n 980 init.exe\r\n1012 WinMgmt.exe     Svcs:  WinMgmt\r\n1028 mspmspsv.exe    Svcs:  WMDM PMSP Service\r\n1052 dfssvc.exe      Svcs:  Dfs\r\n1088 svchost.exe     Svcs:  BITS\r\n1340 inetd.exe\r\n1444 at.svc\r\n 640 explorer.exe    Title: Program Manager\r\n1656 rundll32.exe    Title: CnsMain\r\n 916 CTFMON.EXE      Title:\r\n 524 msnmsgr.exe     Title: Animated BMP Sequence\r\n 888 realmon.exe     Title: KILL 实时管理器\r\n1592 taskmgr.exe     Title: Windows 任务管理器\r\n1716 conime.exe      Title:\r\n1528 PLSQLDev.exe    Title: PL/SQL Developer - eqsp@hhtest\r\n1892 mstsc.exe       Title: CB Viewer Window\r\n1908 mstsc.exe\r\n1700 MyIE.exe        Title:\r\n 296 pyintau.exe     Title: PYJJ210INTAU\r\n1880 CMD.EXE         Title: 命令提示符 - tlist -s\r\n1756 notepad.exe     Title: Tlist.txt - 记事本\r\n1752 tlist.exe\r\n\r\nC:\\>\r\n\r\n典型的我们可以看到svhost.exe里面包含了不同的服务,多个svhost.exe管理不同的服务组.\r\n\r\n引用一段关于svhost.exe的解释:\r\n Svchost.exe是一个很普通的利用dll动态链接库来运行服务的程序,它位于system32目录下。在计算机启动时,它将读取注册表中有关服务\r\n\r\n的部分,然后建立需要启动的服务列表。在同一时刻,可能有多个Svchost.exe在同时运行,每个Svchost.exe中可能包含一个或一组服务,同\r\n\r\n一组内的每个服务都可以在一个Svchost.exe开始运行时在同等的条件下同时启动。说白一点,之所以要把若干个服务作为一组放在同一个\r\n\r\nSvchost.exe中来运行,目的就是使这些服务能够更好的被控制和调试。\r\n\r\n  Svchost.exe组的确定是位于注册表以下这个键值之中,HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Svchost\r\n\r\n,这里的每一项就是一组服务,也就是大家在任务管理器中看到的一个“Svchost.exe”。每一个REG_MULTI_ SZ中的值就是一个服务组,一个\r\n\r\n组中可能只有一个服务,也有可能有若干个服务。到底哪些服务是属于同一个组,那些服务是独立运行的?您可以在这个键值中找到答案,H \r\n\r\nKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Services。\r\n\r\n4.说明\r\n\r\n 随便写写,只是自己觉得好玩而已.附件是两个工具kill和tlist两个命令包含其中.如果有兴趣,下载后解压到系统目录即可.

论坛徽章:
0
11 [报告]
发表于 2002-11-09 19:34 |只看该作者

转个帖子

一.for命令格式 \r\n对一组文件中的每个文件运行指定的命令。 \r\n可以在批处理程序中或直接从命令提示符使用 for 命令。 \r\n要在批处理程序中使用 for 命令,请使用以下语法: \r\n\r\nfor %%variable in (set) docommand [command-parameters] \r\n\r\n要在命令提示符下使用 for,请使用以下语法: (区别就是在于变量前的%) \r\n\r\nfor %variable in (set) do command [command-parameters] \r\n参数 \r\n%%variable 或 %variable \r\n\r\n代表可替换的参数。for 命令使用在 set 中指定的每个文本字符串替换 %%variable(或 %variable),直到此命令(在command-parameters 中指定)处理所有的文件为止。使用 %% variable 在批处理程序中执行 for 命令。使用 % variable \r\n\r\n通过命令提示符执行 for 命令。变量名区分大小写。 \r\n\r\n(set) \r\n指定要用指定的命令处理的一个或多个文件或文本字符串。需要括号。 \r\ncommand \r\n指定要在指定的 set 所包含的每个文件上执行的命令。 \r\ncommand-parameters \r\n\r\n指定要用于指定命令(如果指定的命令要使用任何参数或开关)的任何参数或开关。 \r\n\r\n二.for 命令的其他形式 \r\n如果启用了命令扩展,将支持如下 for 命令的其他格式: \r\n只限于目录 \r\n\r\nfor /d [%% | %]variable in (set) docommand [command-parameters] \r\n如果 set 包含通配符(* 和 ?),则指定与目录名匹配,而不是文件名。 \r\n\r\n递归 \r\nfor /r [[drive :]path] [%% | %]variable in (set) docommand [command-parameters] \r\n\r\n进入根目录树[drive:]path,在树的每个目录中执行 for 语句。如果在 /r 后没有指定目录,则假定为当前目录。如果 \r\n\r\nset 只是一个句号 (.) 字符,则只列举目录树。 \r\n\r\n迭代 \r\nfor /l [%% | %]variable in (start,step,end) do command [command-parameters] \r\n\r\n集合是一系列按步长量划分的、从头到尾的数字。这样,(1,1,5) 将生成序列 1 2 3 4 5,而 (5,-1,1) 将生成序列 (5 4 3 2 1)。 \r\n\r\n文件解析 \r\nfor /f [\"options\"] [%% | %]variable in (filenameset) do command [command-parameters] \r\nfor /f [\"options\"] [%% | %]variable in (\"literal string\" do command[command-parameters] \r\nfor /f [\"options\"] [%% | %]variable in (‘command‘) do command [command-parameters] \r\n\r\n或者,如果出现 usebackq 选项: \r\nfor /f [\"options\"] [%% | %]variable in (filenameset) do command [command-parameters] \r\nfor /f [\"options\"] [%% | %]variable in (‘literal string‘) do command [command-parameters] \r\nfor /f [\"options\"] [%% | %]variable in (`command`) docommand [command-parameters] \r\n\r\n三.for使用范例 \r\n\r\n显示目录中的文件 \r\n假定要使用 type 命令显示当前目录中扩展名为 .doc 或 .txt 的所有文件内容。为此,为了使用可替换变量 %f,请在命\r\n\r\n令提示符后键入以下命令: \r\n\r\nfor %f in (*.doc *.txt) do type %f \r\n\r\n在此范例中,当前目录中扩展名为 .doc 或 .txt 的每个文件都被替代为变量 %f ,直到每个文件的内容都显示为止。要在\r\n\r\n批处理文件中使用该命令,只需使用 %%f 替换 %f 的事件。否则,windows 2000 将忽略变量并显示错误信息。 \r\n\r\n重定向输出到打印机 \r\n\r\nwindows 2000 支持在指定命令中使用的命令开关、管道和重定向。例如,要将上例中的输出重定向到 prn(默认的打印机端口),可以键入下面的命令: \r\nfor %f in (*.doc *.txt) do type %f >; prn: \r\n\r\n解析文件 \r\n要分析文件并忽略注释行,可以使用: \r\nfor /f \"eol=; tokens=2,3* delims=,\" %i in (myfile.txt) do @echo %i %j %k \r\n这将解析 myfile.txt 文件的每一行,忽略以分号开头的行,将第二和第三个令牌环传递到 for 正文中,令牌环通过逗号和/或空格分隔。注意:for 语句引用 %i 以获得第二个令牌,引用 %j 以获得第三个令牌,引用 %k 以获得第三个令牌之后其余的全部令牌。对于包含空格的文件名,必须在文件名两端加上双引号。为了以此方式使用双引号,还需要使用 usebackq 选项,否则双引号将被解释为定义了要解析的文字字符串。 \r\n%i 在 for 语句中明确声明,并且 %j 和 %k 使用 tokens= option 隐含声明。如果它不会导致尝试声明高于字母“z”或“z”的某个变量,使用 tokens= 行可以指定最多 26 个标记。 \r\n记住,for 变量名区分大小写、全局的,并且每次总体不超过 52 个是活动的。 \r\n解析字符串 \r\n也可以对相邻的字符串使用 for /f 分析逻辑,方法是使括号之间的 filenameset 为一个用单引号引起来的字符串。将它当作文件的单行输入并进行解析。 \r\n解析输出 \r\n最后,可以使用 for /f 命令来对命令的输出结果进行解析。通过使 filenameset 在反引字符串的括号之间来执行此操作\r\n\r\n。将它作为命令行,此命令被传递给子 cmd.exe 并将输出捕获到内存并进行解析,就象它是一个文件一样。因此,下面的\r\n\r\n范例: \r\nfor /f \"usebackq delims==\" %i in (`set`) do @echo %i \r\n这将列举当前环境中的环境变量名。 \r\n\r\n四.针对网络探测时使用for命令 \r\n1. for /f “tokens=1,2*” %i in (filename.txt) do net use \\\\target\\ipc$ %i /u:%j \r\n呵呵,首先/f的参数的含意是解析文件的意思。这将解析 filename.txt 文件的每一行,将第一和第二个令牌环传递到 for 正文中,令牌环通过逗号和/或空格分隔。注意:for 语句引用 %i 以获得第一个令牌,引用 %j 以获得第二个令牌。(注:我也不大明白令牌在这具体意思,不过可以确定的就是第一个令牌就是每行的第一个字符窜,第二个令牌就是用空格分开的第二个字符窜。呵呵,至于*的意思是这样的,在令牌 = 字符串中最后一个字符是星号,则将分配附加的变量,并在解析最后一个令牌后在行上接收剩余的文本。当然如果txt文本的格式如下,只有每行只有两个字符窜的话就可以省去了。) \r\nfilename.txt的内容格式如下: \r\npassword username \r\npassword administrator \r\npassword administrator \r\npassword administrator \r\nin ()里添写上需要解析的文本文件名。 \r\ndo后面则添加需要执行的命令如net use 、net user等。 \r\n(是不是有点对administrator暴力跑ipc%,获得密码的味道啊?呵呵,就是字典做的有点累。) \r\n\r\n2. for /l %i in(1,1,254) do net use \\\\x.x.x.%i\\ipc$ “” /user:“” \r\n/l这个参数是用来控制迭代的。 \r\nin()里的集合是一系列按步长量划分的、从头到尾的数字。这样,(1,1,5) 将生成序列 1 2 3 4 5,而 (5,-1,1) 将生成序列 (5 4 3 2 1)。 \r\ndo 后的用法同上。看看也能明白意思了吧。

论坛徽章:
0
10 [报告]
发表于 2002-10-28 20:10 |只看该作者

DATE命令的用法粗解

DATE命令的用法\r\n\r\n1.系统帮助\r\nC:\\>date /?\r\n显示或设置日期。\r\n\r\nDATE  [/T | date]\r\n\r\n仅键入 DATE 而不加参数,可以显示当前日期设置,并且提示\r\n您输入新的日期。按 ENTER 键即可保持原有日期。\r\n\r\n如果命令扩展名被启用,DATE 命令会支持 /T 命令选项;该命令选项告诉\r\n命令只输出当前日期,但不提示输出新日期。\r\n\r\n2.DATA /T 参数说明\r\n\r\n此参数输出当前日期,例如:\r\n\r\nC:\\>DATE /T\r\n2002-10-28 星期一\r\n\r\n这个日期格式可能不同与环境变量中的日期格式,如\r\n\r\nC:\\>echo %DATE%\r\n星期一 2002-10-28\r\n\r\n用for命令,可以组合出不同的表达,例如:\r\n\r\nC:\\>for /f \"tokens=1,2\" %a in (\'date/t\') do set date=%a\r\n\r\nC:\\>set date=2002-10-28\r\n这条语句所做的的就是在date/t中取出不含星期的部分。\r\n\r\n我们可以用更简单的命令得出相同的结果,如:\r\n\r\nC:\\>echo %DATE%\r\n星期一 2002-10-28\r\n\r\nC:\\>echo %DATE:~4,10%\r\n2002-10-28\r\n\r\n如果想在批处理中以日期建立文件夹或者文件名都可以简单的做到了,如\r\n\r\nC:\\>mkdir %DATE:~4,10%\r\nC:\\>dir 2*\r\n 驱动器 C 中的卷是 本地磁盘\r\n 卷的序列号是 402A-3A7E\r\n\r\n C:\\ 的目录\r\n\r\n2002-10-28  19:34       <DIR>          2002-10-28\r\n               0 个文件              0 字节\r\n               1 个目录     79,282,176 可用字节\r\n\r\nC:\\>copy mylist mylist%DATE:~4,10%\r\n已复制         1 个文件。\r\n\r\nC:\\>dir my*\r\n 驱动器 C 中的卷是 本地磁盘\r\n 卷的序列号是 402A-3A7E\r\n\r\n C:\\ 的目录\r\n\r\n2002-09-15  10:00                   38 mylist\r\n2002-09-15  10:00                   38 mylist2002-10-28\r\n               3 个文件            446 字节\r\n               0 个目录     79,282,176 可用字节\r\n\r\n这对于Oracle中的某些自动操作是很有用的。\r\n\r\n可以看到,通过简单的DOS命令的组合,我们可以做到很多看似复杂的事情,只是我们的思维\r\n\r\n并不总是能够到达那里。\r\n\r\n3.关于%DATE:~4,10%的格式\r\n\r\n这个命令的意思就是在DATE的输出中,取4-10中间的字符。\r\n对于不同的机器,可能有不同的时间格式,这个可以在控制面板里设置。\r\n可以通过ECHO命令察看当前设置,如:\r\n\r\nC:\\>echo %DATE%\r\n星期一 2002-10-28\r\n\r\n当然,我们可以同样取到星期的值:\r\n\r\nC:\\>echo %DATE:~0,3%\r\n星期一\r\n\r\n当然也可以从不同方向来:\r\n\r\nC:\\>echo %DATE:~-10%\r\n2002-10-28\r\n\r\nC:\\>echo %DATE:~0,-10%\r\n星期一

论坛徽章:
0
9 [报告]
发表于 2002-10-28 20:01 |只看该作者
NBTSTAT和NETSTAT这两个命令有什么区别? \r\n\r\n-------------------------------------------------------------------------------- \r\n\r\nicech搜集 2002-8-12 20:44:58 pchome.net \r\n\r\n    netstat和nbtstat可以说都是Windows下的网络检测工具,他们的输入形式很相似而且都是需要在安装了TCP/IP协议以后才可以使用的,但两者的功能却不同。首先我们来看看netstat这个命令: \r\nC:\>netstat -h \r\n\r\nDisplays protocol statistics and current TCP/IP network connections. \r\n显示协议统计和当前的 TCP/IP 网络连接。 \r\n\r\nNETSTAT [-a] [-e] [-n] [-s] [-p proto] [-r] [interval] \r\n\r\n-a Displays all connections and listening ports. \r\n显示所有连接和侦听端口。 \r\n此命令可以显示出你的计算机当前所开放的所有端口,其中包括TCP端口和UDP端口。有经验的管理员会经常的使用它,以此来查看计算机的系统服务是否正常,是否被“黑客”留下后门,木马等。比如说我就有一个习惯,在刚刚装了系统配置好服务器以后我就会运行一下netstat -a看看系统开放了什么端口,并记录下来,以便以后作为参考使用,当发现有不明的端口时就可以及时的做出对策。由于这个参数同时还会显示出当前计算机有什么人的IP正连接着你的服务器,所以也是一种实时入侵检测工具,如发现有个IP连接着不正常的端口,你也可以及时做出有效对策。示例: \r\nC:\>netstat -a \r\n\r\nActive Connections \r\n\r\nProto Local Address Foreign Address State \r\nTCP iceblood:ftp iceblood.yofor.com:0 LISTENING \r\nTCP iceblood:telnet iceblood.yofor.com:0 LISTENING \r\nTCP iceblood:smtp iceblood.yofor.com:0 LISTENING \r\nTCP iceblood:http iceblood.yofor.com:0 LISTENING \r\nTCP iceblood:https iceblood.yofor.com:0 LISTENING \r\n……………… \r\nTCP iceblood:1171 iceblood.yofor.com:3306 ESTABLISHED \r\nTCP iceblood:ms-sql-s iceblood.yofor.com:0 LISTENING \r\nTCP iceblood:3306 iceblood.yofor.com:1171 ESTABLISHED \r\n……………… \r\nUDP iceblood:ms-sql-m *:* \r\nUDP iceblood:4000 *:* \r\nUDP iceblood:4001 *:* \r\nUDP iceblood:4002 *:* \r\n从上面的情况就可以知道我的计算机现在开放的TCP端口有ftp(21),telnet(23),smtp(25),http(80),https(443),1171连接着自己的mysql(3306),ms-sql-s(1433),UDP端口有ms-sql-m(1433),4000-4002都是我的OICQ。:P \r\n\r\n-e Displays Ethernet statistics. This may be combined with the -s option. \r\n显示以太网统计。该参数可以与 -s 选项结合使用。 \r\n这个参数正如所说的,将在下面再跟大家说。 \r\n\r\n-n Displays addresses and port numbers in numerical form. \r\n以数字格式显示地址和端口号(而不是尝试查找名称)。 \r\n大家如果只输入netstat的话就会看见如下类似的结果: \r\nC:\>netstat \r\n\r\nActive Connections \r\n\r\nProto Local Address Foreign Address State \r\nTCP iceblood:1171 iceblood.yofor.com:3306 ESTABLISHED \r\nTCP iceblood:3306 iceblood.yofor.com:1171 ESTABLISHED \r\nTCP iceblood:1219 202.109.72.40:6667 ESTABLISHED \r\nTCP iceblood:3566 SERVER-2:microsoft-ds ESTABLISHED \r\n你会发现这些和netstat -a有相同的地方,只不过netstat可以很清楚的列举出来当前和你连接的所有计算机,在Local Address和Foreign Address里你也发现大多数给出的只是计算机NetBios名,却还是不知道当前和你连接的IP,但如果你加上-n参数就不同了,示例如下: \r\nC:\>netstat -n \r\n\r\nActive Connections \r\n\r\nProto Local Address Foreign Address State \r\nTCP 127.0.0.1:1171 127.0.0.1:3306 ESTABLISHED \r\nTCP 127.0.0.1:3306 127.0.0.1:1171 ESTABLISHED \r\nTCP 192.168.1.21:1219 202.109.72.40:6667 ESTABLISHED \r\nTCP 192.168.1.21:3566 192.168.1.3:445 ESTABLISHED \r\nTCP 192.168.1.21:3577 202.107.208.187:110 TIME_WAIT \r\nTCP 192.168.1.21:3578 192.168.1.24:445 ESTABLISHED \r\n看!是不是很明了了?对方的IP全部都出来了。其实-n参数其实也就是告诉netstat不解析对方计算机的NetBios名。 \r\n\r\n-p proto Shows connections for the protocol specified by proto; proto may be TCP or UDP. If used with the -s option to display \r\nper-protocol statistics, proto may be TCP, UDP, or IP. \r\n显示由 protocol 指定的协议的连接;protocol 可以是 tcp 或 udp。如果与 -s 选项一同使用显示每个协议的统计,protocol 可以是 tcp udp、icmp 或 ip。 \r\n这个参数你可以指定查看什么协议的连接状态,比如我想查看当前计算机正在连接的所有TCP端口,示例如下: \r\nC:\>netstat -p tcp \r\n\r\nActive Connections \r\n\r\nProto Local Address Foreign Address State \r\nTCP iceblood:1171 iceblood.yofor.com:3306 ESTABLISHED \r\nTCP iceblood:3306 iceblood.yofor.com:1171 ESTABLISHED \r\nTCP iceblood:1219 202.109.72.40:6667 ESTABLISHED \r\n………… \r\n\r\n-r Displays the routing table. \r\n显示路由表的内容。 \r\n这个没有特别的,可以输入netstat -r以后自己研究。 \r\n\r\n-s Displays per-protocol statistics. By default, statistics are shown for TCP, UDP and IP; the -p option may be used to specify a subset of the default. \r\n显示每个协议的统计。默认情况下,显示 TCP、UDP、ICMP 和 IP 的统计。-p 选项可以用来指定默认的子集。 \r\n这个参数让我们来配合-e来使用。 \r\nC:\>netstat -s -e \r\nInterface Statistics \r\n\r\nReceived Sent \r\n\r\nBytes 505385542 41745793 \r\nUnicast packets 150106 150547 \r\nNon-unicast packets 313008 807 \r\nDiscards 0 0 \r\nErrors 0 0 \r\nUnknown protocols 327149 \r\n\r\nIP Statistics \r\n\r\nPackets Received = 379906 \r\nReceived Header Errors = 0 \r\nReceived Address Errors = 215043 \r\nDatagrams Forwarded = 0 \r\nUnknown Protocols Received = 0 \r\nReceived Packets Discarded = 0 \r\nReceived Packets Delivered = 166002 \r\nOutput Requests = 151620 \r\nRouting Discards = 0 \r\nDiscarded Output Packets = 0 \r\nOutput Packet No Route = 0 \r\nReassembly Required = 0 \r\nReassembly Successful = 0 \r\nReassembly Failures = 0 \r\nDatagrams Successfully Fragmented = 0 \r\nDatagrams Failing Fragmentation = 0 \r\nFragments Created = 0 \r\n\r\nTCP Statistics \r\n\r\nActive Opens = 1556 \r\nPassive Opens = 1 \r\nFailed Connection Attempts = 4 \r\nReset Connections = 143 \r\nCurrent Connections = 4 \r\nSegments Received = 141243 \r\nSegments Sent = 140462 \r\nSegments Retransmitted = 477 \r\n\r\nUDP Statistics \r\n\r\nDatagrams Received = 15125 \r\nNo Ports = 9634 \r\nReceive Errors = 0 \r\nDatagrams Sent = 10628 \r\n看!嘿嘿!你的网络基本状态都在这里面,比如你接受了多少数据包,多少字节,有多少TCP端口打开,有多少UDP端口打开,太丰富了……这些就留给各位高手自己慢慢琢磨去了。 \r\n\r\ninterval Redisplays selected statistics, pausing interval seconds between each display. Press CTRL+C to stop redisplaying statistics. If omitted, netstat will print the current configuration information once. \r\n重新显示所选的统计,在每次显示之间暂停 interval 秒。按 CTRL+B 停止重新显示统计。如果省略该参数,netstat 将打印一次当前的配置信息。 \r\n这个就是自己定义检查网络状况的时间的参数,比如我想每过10秒检查一次我的计算机当前TCP连接的状态你就输入netstat 10 -p tcp这样netstat就会每过10秒就把你所有的TCP端口检查一次。 \r\n\r\n-------------------- \r\n\r\nC:\>nbtstat \r\nDisplays protocol statistics and current TCP/IP connections using NBT (NetBIOS over TCP/IP). \r\n该诊断命令使用 NBT(TCP/IP 上的 NetBIOS)显示协议统计和当前 TCP/IP 连接。 \r\n\r\nNBTSTAT [ [-a RemoteName] [-A IP address] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [interval] ] \r\n\r\n-a (adapter status) Lists the remote machine\\\'\'s name table given its name \r\n使用远程计算机的名称列出其名称表。 \r\n此参数可以通过远程计算机的NetBios名来查看他的当前状态。示例 \r\nC:\>nbtstat -a iceblood \r\n\r\n本地连接: \r\nNode IpAddress: [192.168.1.2] Scope Id: [] \r\n\r\nNetBIOS Remote Machine Name Table \r\n\r\nName Type Status \r\n--------------------------------------------- \r\nICEBLOOD <00> UNIQUE Registered \r\nWORK <00> GROUP Registered \r\nICEBLOOD <20> UNIQUE Registered \r\nWORK <1E> GROUP Registered \r\nICEBLOOD <03> UNIQUE Registered \r\nICEBLOOD$ <03> UNIQUE Registered \r\nLIU_ICEBLOOD <03> UNIQUE Registered \r\n\r\nMAC Address = 00-D0-09-52-91-DC \r\n看见了?从上面就可以知道我的计算机当前计算机的NetBios名为iceblood属于work组或域,当前有liu_iceblood登陆的该计算机,嘿嘿~全都出来了。当然你也可以把计算机名换为IP也就是netstat -a 192.168.1.21,效果和上面的一样。这就有点像UNIX/Linux的finger了,如果你经常去netstat -a一台NT主机,你也可以收集到一些对方计算机中的用户列表了。 \r\n\r\n-A (Adapter status) Lists the remote machine\\\'\'s name table given its IP address. \r\n使用远程计算机的 IP 地址并列出名称表。 \r\n这个和-a不同的是就是这个只能使用IP,其实-a就包括了-A的功能了,我也不再介绍。 \r\n\r\n-c (cache) Lists NBT\\\'\'s cache of remote [machine] names and their IP addresses \r\n给定每个名称的 IP 地址并列出 NetBIOS 名称缓存的内容。 \r\n这个参数表示的是在你的NetBIOS里缓存的你连接过的计算机的IP。示例: \r\nC:\>nbtstat -c \r\n\r\n本地连接: \r\nNode IpAddress: [192.168.1.21] Scope Id: [] \r\n\r\nNetBIOS Remote Cache Name Table \r\n\r\nName Type Host Address Life [sec] \r\n------------------------------------------------------------ \r\nWORK <20> UNIQUE 192.168.1.20 597 \r\n从上面就可以知道你刚刚和IP为192.168.1.20的计算机的NetBIOS连接过。而这个命令也提供给了“黑客”在入侵了对方的主机以后进而入侵到内部网的一个有利的线索。因为NetBIOS的Cache里储存的IP是对方已经信任你的计算机的IP。聪明的“黑客”当然也会从这个方便的地方入手了。 \r\n\r\n-n Lists local NetBIOS names. \r\n列出本地 NetBIOS 名称。 \r\n此参数和netstat -a类似,只是这个是检查本地的,如果把netstat -a后面的IP换为自己的就和netstat -n的效果是一样的了。 \r\n\r\n-r Lists names resolved by broadcast and via WINS \r\n列出 Windows 网络名称解析的名称解析统计。在配置使用 WINS 的 Windows 2000 计算机上,此选项返回要通过广播或 WINS 来解析和注册的名称数。 \r\n这个正如上面所说的,列出当前Windows 网络名称解析的名称解析统计。 \r\n\r\n-R Purges and reloads the remote cache name table \r\n清除 NetBIOS 名称缓存中的所有名称后,重新装入 Lmhosts 文件。 \r\n这个参数就是清除netstat -c所能看见的Cache里的IP缓存的。 \r\n\r\n-S Lists sessions table with the destination IP addresses \r\n显示客户端和服务器会话,只通过 IP 地址列出远程计算机。 \r\n此参数可以查看计算机当前正在会话的NetBIOS。示例: \r\nC:\>nbtstat -S \r\n\r\n本地连接: \r\nNode IpAddress: [192.168.1.21] Scope Id: [] \r\n\r\nNetBIOS Connection Table \r\n\r\nLocal Name State In/Out Remote Host Input Output \r\n\r\n---------------------------------------------------------------------------- \r\n\r\nICEBLOOD <00> Connected Out 192.168.1.22 8MB 316KB \r\nICEBLOOD <03> Listening \r\nICEBLOOD$ <03> Listening \r\nLIU_ICEBLOOD <03> Listening \r\n\r\n从上面就可以知道我的计算机现在正在和192.168.1.22进行会话,看得出是在复制文件,而且是从对方往自己的计算机里复制。通过以上参数所看到的信息到了“黑客”的手中也是非常重要的线索了。 \r\n\r\n-s Lists sessions table converting destination IP \r\n显示客户端和服务器会话。尝试将远程计算机 IP 地址转换成使用主机文件的名称。 \r\n此参数和-S差不多,只是这个会把对方的NetBIOS名给解析出来。 \r\n\r\n-RR (ReleaseRefresh) Sends Name Release packets to WINs and then, starts Refresh \r\n释放在 WINS 服务器上注册的 NetBIOS 名称,然后刷新它们的注册。 \r\n\r\ninterval Redisplays selected statistics, pausing interval seconds between each display. Press Ctrl+C to stop redisplaying statistics. \r\n重新显示所选的统计,在每次显示之间暂停 interval 秒。按 CTRL+B 停止重新显示统计。如果省略该参数,netstat 将打印一次当前的配置信息。 \r\n此参数和netstat的一样,nbtstat的是配合-s和-S一起使用的。 \r\n\r\n------------ \r\n转自西部电子
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP