dos 批处理
@ 只显示命令结果
echo 回显
pause 暂停
del 删除
set 查看系统变量
>nul 正确命令输入空洞
2>nul 错误命令输入空洞
dir 显示目录和文件
&& 第一条成功,执行第二条
|| 第一条失败,执行第二条
| more 传递的结果,一屏一屏看
> 输出到文件或者硬盘
>> 追加
<
*.log * 通配符
? 任意一个字符
%0 无限循环
^ 转义符
echo %date% 显示一个变量用%%
“” 目录名中间有空格用“” 引起来
setx 设置永久变量
1% 2% 3% 4% 5%

@echo off set 设置一个变量
set var1=D:\desktop\文档记要
echo %var1%
pause

@echo off
set /p var1=请输入您要查找的英文名或者RTX号码:
type "C:\Program Files\Tencent\RTXServer\Logs\Security\Security_%date:~0,4%%date:~5,2%%date:~8,2%.log" | find "%var1%"
%0
pause

IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command

echoo %errorlevl% 显示执行成功还是失败
@echo off
net user
if %errorlevel% == 0 echo 上一条命令执行成功了!
pause

@echo off
set /p var=请随便输入一个命令:
%var%
if %errorlevel% == 0 goto yes
goto no
:yes
echo %var%执行成功了
pause
exit
:no
echo 基本执行失败了
pause
*************************************
@echo off
set /p var=随便输入个命令:
%var%
if %ERRORLEVEL% == 0 (echo %var%执行成功了) ELSE echo %var%执行失败了!
pause
***************************************
@echo off
set /p var1=请输入一个字符
set /p var2=请输入一个字符
if “%var1%” == “%var2%” (echo 我们相等) ELSE echo 我们不相等
pause
*******************************************
@echo off
if exist "c:\01.text" (echo 存在文件) ELSE echo 不存在此文件!
pause
*******************************************
@echo off
if /I a == A (echo 我们相等) ELSE echo 我们不等!
pause /I 代表不区分大小写
**********************************************
set /a a=1+1,b=2+1,c=3+1 可以,隔开,避免重赋值
set /a var = %var% + 1 在原有的基础上+1
set 定义变量,截取指字字符
**************************************************
for /d %%i in (*) do echo %%i 只显示目录
for /d %%i in (???) do echo %%i 只显示3个字符的文件夹
for /d %%i in (window?) do echo %%i 匹配一个字符
for /r c:\ %%i in (*.txt) do @echo %%i 打印c盘下面所有的txt文件
for /r %%i in (*.txt) do @echo %%i 以当前文件夹递归搜索
for /l %%i in (1,1,5) do echo %%i 定义一个数组,然后打印出来,每次+1,输入为12345
for /l %%i in (1,2,9) do echo %%i 定义一个数组,每次+2打印出来,输出为13579
for /l %%i in (1,2,5) do start cmd 输出135 ,打开三个cmd窗口

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

OR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k eol=;忽略以分号打头的那些行tokens=2,3打印第二列和第三列 delims=, 以 ,为分隔符
for /f "tokens=2 delims=^ " %%i in (a.txt) do echo %%i 读取excel的第二列,excel必须另存为txt
for /f "delims=" %%i in (C:\xop.txt) do echo %%i "delims="默认以空格为分隔符,现在不以任何为分隔符号,标点符号只能为英文格式
for /f "delims=" %%i in ('net user') do echo %%i 单引号标示,以单引号里面的输出结果,然后再次分列
for /f "tokens=1,2-4 delims=、-." %%i in (歌曲列表.txt) do echo %%i %%j %%k %%l “tokens=1,2-4”中的“2-4”表示第二至第四列。
for /f "tokens=1,2 delims=^ " %%a in (c:\rtx.txt) do @echo %%a %%b

%~I - 删除任何引号("),扩展 %I
%~fI - 将 %I 扩展到一个完全合格的路径名
%~dI - 仅将 %I 扩展到一个驱动器号
%~pI - 仅将 %I 扩展到一个路径
%~nI - 仅将 %I 扩展到一个文件名
%~xI - 仅将 %I 扩展到一个文件扩展名
%~sI - 扩展的路径只含有短名
%~aI - 将 %I 扩展到文件的文件属性
%~tI - 将 %I 扩展到文件的日期/时间
%~zI - 将 %I 扩展到文件的大小
%~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩展
到找到的第一个完全合格的名称。如果环境变量名
未被定义,或者没有找到文件,此组合键会扩展到
空字符串

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

%~dpI - 仅将 %I 扩展到一个驱动器号和路径
%~nxI - 仅将 %I 扩展到一个文件名和扩展名
%~fsI - 仅将 %I 扩展到一个带有短名的完整路径名
%~dp$PATH:I - 搜索列在路径环境变量的目录,并将 %I 扩展
到找到的第一个驱动器号和路径。
%~ftzaI - 将 %I 扩展到类似输出线路的 DIR

for /f "delims=" %%i in (C:\xop.txt) do echo %%~i #删除txt中的引号,但不一定全部能删除
for /f "delims=" %%i in ('dir /b') do @echo %%~fi #dir /b 文件中的文件名,打印绝路径
for /f "delims=" %%i in ('dir /b') do @echo %%~di #只打印驱动器号
for /f "delims=" %%i in ('dir /b') do @echo %%~pi #只打印一个路径
for /f "delims=" %%i in ('dir /b') do @echo %%~ni #只打印文件名
for /f "delims=" %%i in (""net.exe"") do @echo %%~$PATH:i #有点像搜索

********************************************************************
@echo off
for /l %%i in (1,1,10) do (
set "str=%%i"
echo %str%
)
pause>nul
输出了10条错误的信息
********************************************************************
@echo off&setlocal enabledelayedexpansion
for /l %%i in (1,1,10) do (
set "str=%%i"
echo !str!
)
pause>nul

set:设置
local:本地(环境变量)
enable:能够
delayed:延迟
expansion:扩展
setlocal enabledelayedexpansion就是扩展本地环境变量延迟,
比较两段代码就可以知道,一个变量可以引用另一个变量
*****************************************************************

findstr
where

dos 批处学习笔记的更多相关文章

  1. CNN学习笔记:批标准化

    CNN学习笔记:批标准化 Batch Normalization Batch Normalization, 批标准化, 是将分散的数据统一的一种做法, 也是优化神经网络的一种方法. 在神经网络的训练过 ...

  2. Scala学习笔记及与Java不同之处总结-从Java开发者角度

    Scala与Java具有很多相似之处,但又有很多不同.这里主要从一个Java开发者的角度,总结在使用Scala的过程中所面临的一些思维转变. 这里仅仅是总结了部分两种语言在开发过程中的不同,以后会陆续 ...

  3. 学习笔记:CentOS7学习之二十五:shell中色彩处理和awk使用技巧

    目录 学习笔记:CentOS7学习之二十五:shell中色彩处理和awk使用技巧 25.1 Shell中的色彩处理 25.2 awk基本应用 25.2.1 概念 25.2.2实例演示 25.3 awk ...

  4. 【工作笔记】BAT批处理学习笔记与示例

    BAT批处理学习笔记 一.批注里定义:批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD,这些命令统称批处理命令. 二.常见的批处理指令: 命令清单: 1.RE ...

  5. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  6. GRUB学习笔记(转自http://www.cnblogs.com/evilzy/archive/2008/03/30/1130173.html)

    grub学习笔记1 首先要了解的几个概念 1.1 启动管理器 启动管理器是存储在磁盘开始扇区中的一段程序,例如,硬盘的MBR(Master Boot Record),在系统完成启动测试后,如果系统是从 ...

  7. Java多线程技术学习笔记(二)

    目录: 线程间的通信示例 等待唤醒机制 等待唤醒机制的优化 线程间通信经典问题:多生产者多消费者问题 多生产多消费问题的解决 JDK1.5之后的新加锁方式 多生产多消费问题的新解决办法 sleep和w ...

  8. Android(java)学习笔记167:Java中操作文件的类介绍(File + IO流)

    1.File类:对硬盘上的文件和目录进行操作的类.    File类是文件和目录路径名抽象表现形式  构造函数:        1) File(String pathname)       Creat ...

  9. shell学习笔记

    shell学习笔记 .查看/etc/shells,看看有几个可用的Shell . 曾经用过的命令存在.bash_history中,但是~/.bash_history记录的是前一次登录前记录的所有指令, ...

随机推荐

  1. zend studio 快捷键

    复制当前行:ctrl+alt+↓ 删除当前行:Ctrl+d 行注释:Ctrl+/ 快注释(先选中要注释的代码):Ctrl+shift+/ 提示助手(方便函数等补全):alt+/ 代码格式化:Ctrl+ ...

  2. Action.c(58): Error -27796: Failed to connect to server "hostname"

    分析: 因为负载生成器的性能太好发数据特别快,服务器响应也特别快,从而导致负载生成器的端口在没有timeout之前就全部占满了. 解决方案一:   在负载生成器的注册表HKEY_LOCAL_MACHI ...

  3. Git本地服务器搭建及使用详解

    Git本地服务器搭建及使用 Git是一款免费.开源的分布式版本控制系统.众所周知的Github便是基于Git的开源代码库以及版本控制系统,由于其远程托管服务仅对开源免费,所以搭建本地Git服务器也是个 ...

  4. Sybase_游标

    本章将介绍如何在Sybase下使用游标 因业务需要,要批量处理一些数据,sql需要用到循环,所以要使用游标,我写了一个简单的游标,sql如下 DECLARE my_Cursor CURSOR FOR ...

  5. web方式修改svn密码

    原帖:http://www.iusesvn.com/bbs/viewthread.php?tid=20 之前的Apache22Passwd版本有个小bug,用现在的浏览器会显示空白页.这个版本Apac ...

  6. nfs挂载配置

    nfs挂载步骤 服务器端 1.安装nfs-utils rpcbind $sudo yum –y install nfs-utils rpcbind 2.文件开放出去配置/etc/exports 例子: ...

  7. log4j:ERROR Failed to rename [/log/xxx.log] to [/log/xxx.log.2016-11-23.log]

    Log4j报错: log4j:ERROR Failed to rename [/log/xxx.log] to [/log/xxx.log.2016-11-23.log] google了一下发现是个b ...

  8. sql一个表中的数据插入到另外一个表中

    声名:a,b ,都是表 复制代码代码如下: --b表存在(两表结构一样)  insert into b select * from a  若两表只是有部分(字段)相同,则 复制代码代码如下: inse ...

  9. SpringMVC注解开发初步

    一.(补充)视图解析器---XmlViewResolver 作用:分离配置信息. 在视图解析器---BeanNameViewResolver的基础之上进行扩充,新建一个myView.xml分离信息 在 ...

  10. Life

    24小时热水.24小时无线WiFi.24小时空调:有人陪你,不孤单,不寂寞,不瞎想,不停的传播正能量