cmd命令大全

变量

在批处理中,变量全部是弱类型的,通常可以当做字符串处理
1.初始化定义 set var=this a var
2.获取变量值 %var%
3.链接 set varcat=%var1%%var2%
4.截取 %var:~n,m% n是起点,m是长度,没有m表示直到结尾,n和m可以是负数,表示从尾部计数
5.替换 %var:source=desitination%
6.扩展 只是针对文件全路径的字符串,
%~I - 删除任何引号("),扩展 %I
%~fI - 将 %I 扩展到一个完全合格的路径名
%~dI - 仅将 %I 扩展到一个驱动器号
%~pI - 仅将 %I 扩展到一个路径
%~nI - 仅将 %I 扩展到一个文件名
%~xI - 仅将 %I 扩展到一个文件扩展名
%~sI - 扩展的路径只含有短名
%~aI - 将 %I 扩展到文件的文件属性
%~tI - 将 %I 扩展到文件的日期/时间
%~zI - 将 %I 扩展到文件的大小
%~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩展
到找到的第一个完全合格的名称。如果环境变量名
未被定义,或者没有找到文件,此组合键会扩展到
空字符串
7.变量延迟扩展setlocal enabledelayedexpansion,变量使用“!”标识

这个厉害,这里是目前唯一的,按照整型变量处理的语句。
8.set /a expression 是算术运算
9.转义符 ^,去除特殊符号的特殊地位

输入输出

1.标准输出 echo %var%
2.标准输入 set /p var=[promptstring]
3.输入文件 < log
4.追加文件 >>log
5.输出文件 > log
6.管道 | echo y|del /p a.txt

逻辑命令符

1.标准输出 echo %var%
2.标准输入 set /p var=[promptstring]
3.输入文件 < log
4.追加文件 >>log
5.输出文件 > log
6.管道 | echo y|del /p a.txt

控制语句

1.分支:
IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command
命令扩展:
IF [/I] string1 compare-op string2 command
IF CMDEXTVERSION number command
IF DEFINED variable command

其中, compare-op 可以是:

EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于

2.循环:
FOR %variable IN (set) DO command [command-parameters]
在批处理中 %variable 写作 %%variable
命令扩展
/d:表示只处理目录 FOR /D %variable IN (set) DO command [command-parameters]
/r:表示处理根目录下的全部文件 FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]
/l:表示对数字序列进行处理 FOR /L %variable IN (start,step,end) DO command [command-parameters]

/f:表示set是文本文件,并处理该文本文件 

FOR /F ["options"] %variable IN (file-set) DO command [command-parameters]
FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
FOR /F ["options"] %variable IN ('command') DO command [command-parameters]

 options:

eol=c - 指一个行注释字符的结尾(就一个)
skip=n - 指在文件开始时忽略的行数。
delims=xxx - 指分隔符集。这个替换了空格和跳格键的
默认分隔符集。
tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代
的 for 本身。这会导致额外变量名称的分配。m-n
格式为一个范围。通过 nth 符号指定 mth。如果
符号字符串中的最后一个字符星号,
那么额外的变量将在最后一个符号解析之后
分配并接受行的保留文本。
usebackq - 指定新语法已在下类情况中使用:
在作为命令执行一个后引号的字符串并且一个单
引号字符为文字字符串命令并允许在 file-set
中使用双引号扩起文件名称。
example:
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k

函数

@echo off
::调用函数
call :add 1 2
echo %errorlevel%
pause

::函数前部一定加上goto :eof,避免多次运行函数
goto :eof
::函数名称add
:add
set /a re=%1+%2
echo %1+%2=%re%
exit /b %re%

注释

以::开始的一行,被注释

下面是高人写的,很灵动的思维。摘自http://blog.sina.com.cn/s/blog_51a4af870100cyhk.html

有些时候,我们需要在批处理中使用大段的注释,即连续的注释超过2行。那么,如何实现他呢?

方法有很多种,本文仅列举其中的一部分。

㈠、使用rem

注意:注释中不能使用重定向符和管道符;

当回显处于打开是时,rem 命令及注释内容将被显示;

rem 和注释之间要有空格。

示例:

rem 注释内容1
rem 注释内容2

rem 注释内容3

㈡、使用::

Windows XP 可以识别以冒号 (😃 开头作为标签的批处理程序行并且不会将它作为命令处理。如果某行以冒号开始,则该行的任何命令都将被忽略。

示例:

:: 注释内容1
:: 注释内容2

:: 注释内容3

㈢、使用echo >nul

注意:注释中不能使用重定向符和管道符;

echo 和注释之间要有空格。

示例:

echo 注释内容1>nul
echo 注释内容2>nul

echo 注释内容3>nul

㈣、使用goto

注意:注释中不能使用goto 指向的标签

示例:

goto han
注释内容1

注释内容2

注释内容3

:han

㈤、使用:注释

注意:注释中第一个字符不能是数字或字母;

示例:

:注释内容1
:注释内容2

:注释内容3

说明:在实际使用中,例如标签 :stsrt ,我们也可以认为他是注释。如下例:

:: ArgParse.bat - Parser of command line arguments
:: Will Sort - 2005-11-26 - WinXP_CMD/MSDOS7.10/MSDOS6.22
@echo off

:Init
for %%e in (directory_i directory_o filter_f filter_v log) do set %%e=

:ParseLoop
if “%1"“” goto Start
for %%s in (i I f F v V l L o O) do if "%1"
”/%%s" goto Switch%%s
echo Error: Invalid switch ‘%1’!
goto Quit

:SwitchI
if “%directory_i%”==“” set directory_i=%2
goto NextArg

:SwitchO
if “%directory_o%”==“” set directory_o=%2
goto NextArg

:SwitchF
if “%filter_f%”==“” set filter_f=%2
goto NextArg

:SwitchV
if “%filter_v%”==“” set filter_v=%2
goto NextArg

:SwitchL
if “%log%”==“” set log=%2
goto NextArg

:NextArg
shift
shift
goto ParseLoop

:Start
echo.directory_i %directory_i%
echo.directory_o %directory_o%
echo.filter_f %filter_f%
echo.filter_v %filter_v%
echo.log %log%

:Quit
for %%e in (directory_i directory_o filter_f filter_v log) do set %%e=

:end

㈥、使用:标签 注释

示例:

:han 注释:下面的代码。。。
命令1

命令2

㈦、使用if not exist nul 注释

注意:注释中不能使用重定向符和管道符;

if not exist nul 和注释之间要有空格。

示例:

if not exist nul 注释内容1
if not exist nul 注释内容2

if not exist nul 注释内容3

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: cmd指令大全是一个非常重要的工具,它可以让用户通过命令行来执行一系列的操作,包括系统管理、文件操作、网络设置等等。这些指令的功能非常丰富,可以满足用户进行各种复杂的操作。 CSDN作为国内最大的IT技术社区,也为大家提供了关于cmd指令大全的相关资料,可以帮助读者更好地了解和使用cmd指令。在CSDN网站上,读者可以找到详细的cmd指令列表,包括了常用的指令和高级指令,同时还提供了具体的使用说明和示例代码,让读者更方便地掌握这些指令的使用方法。 通过CSDN,读者可以了解到如何在cmd命令行中快速定位文件、查看网络信息、管理系统程序以及进行网络配置等,这些都是非常重要的操作,可以大大提高工作效率和准确度。 总之,cmd指令大全指令csdn提供了全面的指令列表和详细的使用说明,帮助读者更好地掌握cmd指令的技巧和使用方法。对于需要频繁操作cmd指令的人来说,这些资源是非常有价值的。 ### 回答2: cmd指令大全是一份Windows操作系统下的命令行指令列表,可以通过这些指令来管理和控制操作系统。这个指令大全包含了几乎所有的常用指令,包括文件管理、网络管理、进程管理等方面的指令。同时,这个指令大全也可以作为学习Windows操作系统命令行操作的参考。 CSDN是一个专业的IT技术社区,以IT技术为核心,以技术交流和资源分享为目的,提供IT技术学习、交流、就业服务和软件开发等全方位服务。在CSDN中,有许多关于cmd指令大全的文章和教程,可以供用户学习和参考。 通过CSDN学习cmd指令大全指令,可以从基本的操作开始,较为系统地了解Windows命令行的使用方法和原理,例如查找文件、创建文件夹、进程管理等功能。在掌握这些基础操作后,用户可以进一步学习高级指令和脚本编写技巧,实现更加复杂的操作。总的来说,通过CSDN学习cmd指令大全,可以帮助用户提高操作系统管理和控制的效率和水平,同时也可以增加工作和学习的技能和竞争力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值