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. ActionBar设置自定义setCustomView()留有空白的问题

    先来看问题,当我使用ActionBar的时候,设置setCustomView时,会留有空白的处理 网上很多朋友说可以修改V7包到19,结果处理的效果也是不理想的. 下面贴出我觉得靠谱的处理代码 pub ...

  2. IOS 杂笔-11(实现在外部无法改变UIView的size)

    我想题目说的或许不是很清楚,那么现在我详细介绍一下这篇随笔内容. 在外部无法改变UIVIew控件的size. 这里说是UIView,但是事实上,是大多数控件而绝非仅UIView. 想要实现在外部无法改 ...

  3. php 学习路线图

  4. 一步步学习 Spring Data 系列之JPA(一)

    引入: Spring Data是SpringSource基金会下的一个用于简化数据库访问,并支持云服务的开源框架.其主要目标是使得数据库的访问变得方便快捷,并支持map-reduce框架和云计算数据服 ...

  5. ORACLE RETURNING 用法总结

    ORACLE RETURNING 用法总结 场景 在存储过程.PL/SQL块里需要返回INSERT.DELETE.UPDATE.MERGE等DML语句执行后的信息时使用,合理使用returning能够 ...

  6. 0038 Java学习笔记-多线程-传统线程间通信、Condition、阻塞队列、《疯狂Java讲义 第三版》进程间通信示例代码存在的一个问题

    调用同步锁的wait().notify().notifyAll()进行线程通信 看这个经典的存取款问题,要求两个线程存款,两个线程取款,账户里有余额的时候只能取款,没余额的时候只能存款,存取款金额相同 ...

  7. android 获取IMSI信息(判断是移动,联通,电信手机卡)

    首先我们需要知道手机IMSI号前面3位460是国家,紧接着后面2位00 02是中国移动,01是中国联通,03是中国电信.那么第一步就是先获取手机IMSI号码:代码如下 /** *获取IMSI信息 * ...

  8. [LeetCode] Range Sum Query - Mutable 区域和检索 - 可变

    Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive ...

  9. [LeetCode] Meeting Rooms II 会议室之二

    Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...] (si ...

  10. [LeetCode] Maximum Gap 求最大间距

    Given an unsorted array, find the maximum difference between the successive elements in its sorted f ...