Shell命令、Dos命令和批处理命令
1、⼩结
定义:DOS与Windows中cmd的区别:操作系统可以分成核⼼(kernel)和Shell(外壳)两部分,其中,Shell是操作系统与外部的主要接⼝,位于操作系统的外层,为⽤户提供与操作系统核⼼沟通的途径。在windows系统中见到的桌⾯即(资源管理器)是图形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%\" -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 >FOR</span></strong>            为⼀套⽂件中的每个⽂件运⾏⼀个指定的命令。
FORMAT        格式化磁盘,以便跟 Windows 使⽤。
FSUTIL        显⽰或配置⽂件系统的属性。
FTYPE          显⽰或修改⽤在⽂件扩展名关联的⽂件类型。
GOTO          将 Windows 命令解释程序指向批处理程序
中某个带标签的⾏。例如:goto end        /换⾏  :end 即跑到了end中
GPRESULT      显⽰机器或⽤户的组策略信息。
GRAFTABL      启⽤ Windows 在图形模式显⽰扩展字符集。
HELP          提供 Windows 命令的帮助信息。
ICACLS        显⽰、修改、备份或还原⽂件和
⽬录的 ACL。
<strong><span >IF</span></strong>            在批处理程序中执⾏有条件的处理过程。
LABEL          创建、更改或删除磁盘的卷标。
MD            创建⼀个⽬录。
MKDIR          创建⼀个⽬录。
MKLINK        创建符号链接和硬链接
MODE          配置系统设备。
MORE          逐屏显⽰输出。
MOVE          将⼀个或多个⽂件从⼀个⽬录移动到另⼀个⽬录。
OPENFILES      显⽰远程⽤户为了⽂件共享⽽打开的⽂件。
PATH          为可执⾏⽂件显⽰或设置搜索路径。
PAUSE          停⽌批处理⽂件的处理并显⽰信息。
POPD          还原由 PUSHD 保存的当前⽬录上⼀次的值。
PRINT          打印⼀个⽂本⽂件。
PROMPT        改变 Windows 命令提⽰。
PUSHD          保存当前⽬录,然后对其进⾏更改。
shell命令属于什么语言
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命令:
例⼦:t > a.txt
t >&
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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。