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 手机卫士--导航界面4的业务逻辑

    本文实现导航界面4的业务逻辑,导航界面4的界面如下: 本文地址:http://www.cnblogs.com/wuyudong/p/5952640.html,转载请注明出处. 相应的代码如下: pri ...

  2. Unable to simultaneously satisfy constraints.

    在进行版本的迭代更新时,新功能需求需要对主页面的UI进行重新的布局,但是,报了错误,出了好多约束方面的问题: Unable to simultaneously satisfy constraints. ...

  3. swift学习笔记5——其它部分(自动引用计数、错误处理、泛型...)

    之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...

  4. [Erlang 0125] Know a little Erlang opcode

    Erlang源代码编译为beam文件,代码要经过一系列的过程(见下面的简图),Core Erlang之前已经简单介绍过了Core Erlang,代码转换为Core Erlang,就容易拨开一些语法糖的 ...

  5. Linux 6.5(oracle 11.2.0.4)单实例ASM安装

    Linux 6.5(oracle 11.2.0.4) 1.解析主机.配置网络等 /etc/hosts /etc/sysconfig/network /etc/init.d/NetworkManager ...

  6. Dojo: Quick Start

      1.Dojo学习地址 2.Dojo快速开始 2.1.Dojo引入 2.2.指定Dojo模块的位置 2.3.模块加载require 3.查找Dom节点 3.1.根据id查找dom节点 3.2.根据c ...

  7. js 动态添加input代码

    <script type="text/javascript" language="javascript"> function newNode(thi ...

  8. ASP.NET MVC Controllers and Actions

    MVC应用程序里的URL请求是通过控制器Controller处理的,不管是请求视图页面的GET请求,还是传递数据到服务端处理的Post请求都是通过Controller来处理的,先看一个简单的Contr ...

  9. VS2010以及vs10sp1安装问题

    进公司第一天搭建开发环境,由于系统版本有点低,安装遇到各种问题,在此总结一下,以备日后有用. 问题描述 Windows server 2003 安装VS2010时,安装到Microsoft.NET F ...

  10. Select into 的特点

    使用 Select * into NewTable From OldTable  来生成新表的技能已经使用得好熟练了~但是有些东西还是需要注意一下.下面我就来分享几个栗子 使用select into ...