Shell命令、Dos命令和批处理命令

1、小结

定义:DOS与Windows中cmd的区别:操作系统可以分成核心(kernel)和Shell(外壳)两部分,其中,Shell是操作系统与外部的主要接口,位于操作系统的外层,为用户提供与操作系统核心沟通的途径。在windows系统中见到的桌面即explorer.exe(资源管理器)是图形shell,而cmd就是命令行shell。这算是cmd与dos的最大区别,一个只是接口、一个是操作系统。只是cmd中的某些命令和dos中的命令相似,因此很多人把二者混为一谈。cmd属于windows系统的一部分,dos本身就是一个系统,在dos系统下可以删除,修复windows系统,而在cmd下则不行。

     1)@echo off,表示执行了这条命令后关闭所有命令(包括本身这条命令)的回显;而echo off命令则表示关闭其它所有命令     (不包括本身这条命令)的回显。

     2)/?,在命令后加/?可显示该命令详细用法,例如echo /?。

     3)格式。脚本命令与cmd中的命令是类似的,执行的命令需是可执行的,小示例:

@echo off
cd ..\..\components\pgsql
set PA=%cd%
"%PA%\bin\initdb.exe" -D ../data -D UTF8 -U postgres
pause

    4)..。返回上级目录

2、86条常用DOS命令

有关某个命令的详细信息,请键入 HELP 命令名
ASSOC          显示或修改文件扩展名关联。
ATTRIB         显示或更改文件属性。
BREAK          设置或清除扩展式 CTRL+C 检查。
BCDEDIT        设置启动数据库中的属性以控制启动加载。
CACLS          显示或修改文件的访问控制列表(ACL)。
CALL           从另一个批处理程序调用这一个。
CD             显示当前目录的名称或将其更改。
CHCP           显示或设置活动代码页数。
CHDIR          显示当前目录的名称或将其更改。
CHKDSK         检查磁盘并显示状态报告。
CHKNTFS        显示或修改启动时间磁盘检查。
CLS            清除屏幕。
CMD            打开另一个 Windows 命令解释程序窗口。
COLOR          设置默认控制台前景和背景颜色。
COMP           比较两个或两套文件的内容。
COMPACT        显示或更改 NTFS 分区上文件的压缩。
CONVERT        将 FAT 卷转换成 NTFS。您不能转换
               当前驱动器。
COPY           将至少一个文件复制到另一个位置。
DATE           显示或设置日期。
DEL            删除至少一个文件。
DIR            显示一个目录中的文件和子目录。
DISKCOMP       比较两个软盘的内容。
DISKCOPY       将一个软盘的内容复制到另一个软盘。
DISKPART       显示或配置磁盘分区属性。
DOSKEY         编辑命令行、调用 Windows 命令并创建宏。
DRIVERQUERY    显示当前设备驱动程序状态和属性。
ECHO           显示消息,或将命令回显打开或关上。
ENDLOCAL       结束批文件中环境更改的本地化。
ERASE          删除一个或多个文件。
EXIT           退出 CMD.EXE 程序(命令解释程序)。
FC             比较两个文件或两个文件集并显示它们之间的不同。
FIND           在一个或多个文件中搜索一个文本字符串。
FINDSTR        在多个文件中搜索字符串。
<strong><span style="color:#ff0000;">FOR</span></strong>            为一套文件中的每个文件运行一个指定的命令。
FORMAT         格式化磁盘,以便跟 Windows 使用。
FSUTIL         显示或配置文件系统的属性。
FTYPE          显示或修改用在文件扩展名关联的文件类型。
GOTO           将 Windows 命令解释程序指向批处理程序
               中某个带标签的行。例如:goto end         /换行  :end 即跑到了end中
GPRESULT       显示机器或用户的组策略信息。
GRAFTABL       启用 Windows 在图形模式显示扩展字符集。
HELP           提供 Windows 命令的帮助信息。
ICACLS         显示、修改、备份或还原文件和
 目录的 ACL。
<strong><span style="color:#ff0000;">IF</span></strong>             在批处理程序中执行有条件的处理过程。
LABEL          创建、更改或删除磁盘的卷标。
MD             创建一个目录。
MKDIR          创建一个目录。
MKLINK         创建符号链接和硬链接
MODE           配置系统设备。
MORE           逐屏显示输出。
MOVE           将一个或多个文件从一个目录移动到另一个目录。
OPENFILES      显示远程用户为了文件共享而打开的文件。
PATH           为可执行文件显示或设置搜索路径。
PAUSE          停止批处理文件的处理并显示信息。
POPD           还原由 PUSHD 保存的当前目录上一次的值。
PRINT          打印一个文本文件。
PROMPT         改变 Windows 命令提示。
PUSHD          保存当前目录,然后对其进行更改。
RD             删除目录。
RECOVER        从损坏的磁盘中恢复可读取的信息。
REM            记录批处理文件或 CONFIG.SYS 中的注释。
REN            重新命名文件。
RENAME         重新命名文件。
REPLACE        替换文件。
RMDIR          删除目录。
ROBOCOPY       复制文件和目录树的高级实用程序
SET            显示、设置或删除 Windows 环境变量。
SETLOCAL       开始用批文件改变环境的本地化。
SC             显示或配置服务(后台处理)。
SCHTASKS       安排命令和程序在一部计算机上按计划运行。
SHIFT          调整批处理文件中可替换参数的位置。
SHUTDOWN       让机器在本地或远程正确关闭。
SORT           将输入排序。
START          打开单独视窗运行指定程序或命令。
SUBST          将驱动器号与路径关联。
SYSTEMINFO     显示机器的具体的属性和配置。
TASKLIST       显示包括服务的所有当前运行的任务。
TASKKILL       终止正在运行的进程或应用程序。
TIME           显示或设置系统时间。
TITLE          设置 CMD.EXE 会话的窗口标题。
TREE           以图形显示启动器或路径的目录结构。
TYPE           显示文本文件的内容。
VER            显示 Windows 的版本。
VERIFY         告诉 Windows 验证文件是否正确写入磁盘。
VOL            显示磁盘卷标和序列号。
XCOPY          复制文件和目录树。
WMIC           在交互命令外壳里显示 WMI 信息。

有关工具的详细信息,请参阅联机帮助中的命令行参考。

3、%~dp0,作用:更改当前目录为批处理本身的目录。例如:a.bat在D:\aa文件夹中,a.bat内容为cd /d %~dp0在这里cd /d %~dp0的意思就是cd /d d:aa。

      1)%0代表批处理本身d:\qq\a.bat

       2)~dp是变量扩充

      3)d即是扩充到分区号d:

      4)p就是扩充到路径\aa

       5)dp就是扩充到分区号路径d:\aa

4、bat批处理教程

    批处理,也称为批处理脚本,英文BATCH,批处理文件后缀BAT就取前三个字母。它的构成没有固定格式,遵守这条规则:每一行可视为一个命令,每个命令里可以包含多条子命令,从第一行开始执行,直到最后一行结束,它的运行平台是DOS。批处理的特点:使用方便、灵活、功能强大,自动化程度高。

     1)>和>>

          >的意思:把前面命令得到的东西放到后面所给的文件(地方);>>的意思:与前面>的意思相同,区别是把结果追加到前一行得出结果的的后面,前面的一行命令得出的结果将保留(文件会越来越大)。将下面代码写一个bat命令:

          例子:ping sz.tencent.com > a.txt

                    ping sz1.tencent.com >>a.txt

     2)::。相当于rem,表示注释的意思。

     3)@。作用是关闭紧跟其后的一条命令的回显。

     4)%。不是命令,只是批处理中的参数。

     5)if。if命令是一个表示判断的命令,根据得出的每一个结果,它都可以对应一个相应的操作。它有三种用法:

          (1)输入判断。(2)存在判断。(3)结果判断。

     6)call。作用是从一个批处理脚本中调用另一个批处理脚本,也可以调用自己本身。关于脚本调用:(1)脚本调用可以灵活运用,循环运用,重复运用。(2)脚本调用可以使用参数。

     7)find。搜索命令,用来再文件中搜索特定字符串,

     8)':'和'goto'。'goto'是跳转命令,':'是一个标签,当程序运行到'goto'时,将自动跳转到':'定义的部分去执行。例如:

……
goto end
……
:end

     9)|。这是一个管道命令,让前一命令的输出当作后一命令的输入。

     10)help。一般是某命令后加help,例如:net help,显示net命令的帮助信息。也可以直接在DOS提示符中输入help,结果是让DOS显示其所支持的所有非隐含命令。

    11)more。这是一个管道命令,作用,让输出的的信息逐行或逐屏显示。

    12)type。对比more命令来说,它的作用让信息一次性显示完。

    13)<,>&,<&。(1)<,输入重定向命令,从文件中读入命令输入,而不是从键盘中读入。(2)>&,将一个句柄的输出写入到另一个句柄的输入中。(3)<&,与前面相反,从一个句柄读取输入并将其写入到另一个句柄输出中。

    14)&。这是一个组合命令,作用是连接n个DOS命令,并把这些命令按顺序执行,而不管是否有命令执行失败。

    15)&&。组合命令,作用把前后两个命令组合起来当一个命令来使用,与&不同在于,它在从前往后依次执行被它连接的几个命令时会自动判断是否有某个命令执行出错,一旦发现出错后将不继续执行后面剩下的命令。

    16)||。组合命令,与&&正相反,利用这种方法在执行多条命令时,当遇到一个执行正确的命令就退出此命令组合,不再执行下面的命令。

17)

5、获取注册表的键值

     代码

@echo off

for /f "skip=2 delims=: tokens=1,2" %%i in ('reg query "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Internet Explorer " /v "Local Page "') do (
   set str=%%i
   set var=%%j
   
   set value=%%i
)
set value=%value:~10,-1%
echo %value%
pause

     1)for /f :用来解析文本,读取字符串。

     2)tokens:tokens负责提取字符串。例如,tokens=1,2;表示提取从第一个开始到第二个之前的字符串。

     3)delims:根据定义的符号,负责切分字符串,比如delims== 就是根据=号来切分字符串。

     4)in 、do :在什么里面和做什么

     5)DOS处理字符串,截取字符串命令:

          %variable:~start,end%

          variable表示变量名,如上面的InstallDir。

          start:起始地址,从0开始,负数表示倒数,如-1表示倒数第一个

          end:终止地址,意义与start类似。注意不包含终止地址。如上例的-2,最终结果截取到倒数第三个字符。

          set value=%value:~10,-1%,表示将变量value的从11个字符到倒数第2个字符赋值给value(本身)。

     6)%%i为第1字段,%%j为第2字段,%%k为第3字段

6、扩充变量语法详解:

    1)选项语法:

         (1)~l 删除任何引号("),扩充%l

         (2)%~fl 将%l扩充到一个完全合格的路径名。

         (3)%~dl 仅将%l扩充到一个驱动器号

         (4)%~pl 仅将%l扩充到一个路径

         (5)%~nl 仅将%l扩充到一个文件名

         (6)%~xl 仅将%l扩充到一个文件扩展名

         (7)%~sl 扩充的路径只含有短名

         (8)%~al 将%l扩充到文件的文件属性

         (9)%~tl 将%l扩充到文件的日期/时间

         (10)%~zl 将%l扩充到文件的大小

         (11)%~$PATH:l 查找列在路径环境变量的目录,并将%l扩充到找到第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩充到空字符串。

    2)可以组合修饰符来得到多重结果:

         (1)%~dpl 仅将%l扩充到一个驱动器号和路径

         (2)%~nxl 仅将%l扩充到一个文件名和扩展名

         (3)%~fsl 仅将%l扩充到一个带有短名的完整路径名

         (4)%~dp$PATH:i 查找列在路径环境变量的目录,并将%l扩充到找到第一个驱动器号和路径。

         (5)%~ftzal 将%l扩充到类似输出线路的DIR

 

 

最后附上一条优秀学习连接DOS命令学习手册:https://www.w3cschool.cn/dosmlxxsc1/wvqyr9.html

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值