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. Android 手机卫士--导航界面2

    本文地址:http://www.cnblogs.com/wuyudong/p/5947504.html,转载请注明出处. 在之前的文章中,实现了导航界面1布局编写与相关的逻辑代码,如下图所示: 点击“ ...

  2. IOS之Objective-C学习 代理设计模式

    鉴于Objective-C是不支持多继承的,所以需要用协议来代替实现其他类的方法,所以有了代理设计模式. 代理,又称委托,delegation. 代理模式可以让一个单继承的类实现父类以外其他类的方法. ...

  3. jquery ajax异步和同步从后天取值

    最近使用jquery的ajax,发现有些效果不对,ajax请求后返回的json串回来了,但是执行顺序有问题. var isReload = false; $.post('/home/DetectCac ...

  4. 原创 C++之常量(一)

    1概述 一个C++程序就是一系列数据与操作的集合.当一个C++程序开始运行的时候,与该程序相关的数据就会被加载到内存中.当数据与内存发生关联的时候,这些数据就会具有如下的特性: 数据在内存中的地址.这 ...

  5. phpStudy2016 配置多个域名期间遇到的问题

    第一步 在C:\Windows\System32\drivers\etc下的hosts文件下添加   第二步   找到Apache 下的httpd.conf  文件 打开,去掉171行前边的#   第 ...

  6. webform Repeater重复器、地址栏传值、Response

    Repeater: 重复器 <HeaderTemplate></HeaderTemplate> - 头模板:在循环开始时,其内容只会打印一遍 <ItemTemplate& ...

  7. Web Service

    Web Service全称XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术.是:通过SOAP ...

  8. SQL操作符

    Oracle中的操作符算术操作符:无论是在sqlserver,或者是java中,每种语言它都有算术操作符,大同小异. Oracle中算术操作符(+)(-)(*)(/) 值得注意的是:/ 在oracle ...

  9. [LeetCode] Wiggle Sort II 摆动排序

    Given an unsorted array nums, reorder it such that nums[0] < nums[1] > nums[2] < nums[3]... ...

  10. Java_jvisualvm使用JMX连接远程机器(实践)

    https://my.oschina.net/heroShane/blog/196227 一.启动普通的jar程序 1.执行foo.jar启动命令 java -Dcom.sun.management. ...