bat语法
注释
:: 注释无回显
rem 注释有回显
关闭和开启回显
:: 关闭回显
@echo off
echo abc
:: 开启回显
echo on
echo
查看命令帮助说明
rd /?
目录操作
创建目录(包含子目录)
md mp3\a\b\c 删除空目录
rd mp3 /q安静模式 /s递归
rd /q/s mp3 重命名目录 mp3源 mp3bak目标
rename mp3 mp3bak
文件操作
:: 创建文件cc.txt
cd.>cc.txt :: 往文件里写数据
echo this is ceshi > ceshi.txt :: 查看文件内容
type ceshi.txt :: 删除文件
:: 删除指定文件,不能是隐藏、系统、只读文件
del d:\test.txt :: #删除 d:\temp 文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录
del /q/a/f d:\temp\*.* :: #删除 d:\temp 及子文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录
del /q/a/f/s d:\temp\*.*
copy 拷贝文件
例:copy key.txt c:\doc // 将当前目录下的key.txt拷贝到c:\doc下(若doc中也存在一个key.txt文件,会询问是否覆盖)
例:copy jobs c:\doc // 将当前目录下jobs文件夹中文件(不递归子目录)拷贝到c:\doc下(若doc中也存在相应的文件,会询问是否覆盖)
例:copy key.txt c:\doc\key_bak.txt // 将当前目录下的key.txt拷贝到c:\doc下,并重命名为key_bak.txt(若doc中也存在一个key_bak.txt文件,会询问是否覆盖)
例:copy /Y key.txt c:\doc // 将当前目录下的key.txt拷贝到c:\doc下(不询问,直接覆盖写)
例:copy key.txt + // 复制文件到自己,实际上是修改了文件日期
例:copy /Y key1.txt + key2.txt key.txt // 将当前目录下的key1.txt与key2.txt的内容合并写入key.txt中(不询问,直接覆盖写)
例:copy /B art_2.7z.* art_2.7z // 将当前目录下的art_2.7z.开头的所有文件(按照名称升序排序)依次合并生成art_2.7z
例:copy /B art_2.7z.001+art_2.7z.002 art_2.7z // 将当前目录下的art_2.7z.001、art_2.7z.002文件合并生成art_2.7z
xcopy 更强大的复制命令
例:xcopy c:\bat\hai d:\hello\ /s /h /e /f /c /y // 将c:\bat\hai中的所有内容拷贝到d:\hello中 注意:需要在hello后加上\ 表示hello为一个目录,否则xcopy会询问hello是F,还是D,/y不询问
例:xcopy c:\bat\hai d:\hello\ /d:12-29-2010 // 将c:\bat\hai中的2010年12月29日后更改的文件拷贝到d:\hello中
move 移动文件
例:move *.png test // 将当前目录下的png图片移动到当前目录下test文件夹中 (若test中也存在同名的png图片,会询问是否覆盖)
例:move /Y *.png test // 将当前目录下的png图片移动到当前目录下test文件夹中 (不询问,直接覆盖写)
例:move 1.png d:\test\2.png // 将当前目录下的1.png移动到d盘test文件夹中,并重命名为2.png (若test中也存在同名的png图片,会询问是否覆盖)
例:move test d:\new // 若d盘中存在new文件夹,将当前目录下的test文件夹移动到d盘new文件夹中;若不存在,将当前目录下的test文件夹移动到d盘,并重命名为new
date时间
:: 显示时间 (// 周四)
set DT=%date%
echo %DT% ::显示时间 年(),说明:从开头取4个
set year=%date:~,%
echo %year% ::显示时间月(),说明:从第5个起取2个
set month=%date:~,%
echo %month% ::显示时间日(),说明:从第8个起起2个
set day=%date:~,%
echo %day% :: 显示时间(::13.56)
echo %time% :: 显示时(16或0x)
set time_hh=%time:~,%
if /i %time_hh% LSS (set time_hh=%time:~,%)
echo %time_hh% :: 显示分
set time_mm=%time:~,%
echo %time_mm% :: 显示秒
set time_ss=%time:~,%
echo %time_ss% :: 显示20180920_162335
set time_hh=%time:~,%
if /i %time_hh% LSS (set time_hh=%time:~,%)
set DT=%date:~,%%date:~,%%date:~,%_%time_hh:~,%%time:~,%%time:~,%
echo %DT%
删除10天前的文件
set BakDir="E:\backup\oracle"
forfiles /p %BakDir% /s /m *.* /d - /c "cmd /c del @file"
if else
:: .txt 存在 就删除
if exist .txt del .txt :: .txt 存在就复制一份111bak.txt
echo this is ceshi > .txt
if exist .txt copy /y .txt 111bak.txt :: 存在和不存在
if exist d:\111.txt (echo 111.txt存在) else ( echo 111.txt 不存在) :: if else
set abc=
if %abc%== (
echo ==
echo ==
) else (
echo !=
echo !=
)
for
===/d遍历目录 :: 循环遍历目录
for /d %%i in (c:\*) do echo %%i :: *正则批配任意字符 ?批配一个字符
for /d %%i in (d:\b??) do echo %%i :: ====/r 递归遍历文件 in里可以正则批配文件名
for /r d:\bat %%i in (*) do @echo %%i :: ====/l 迭代数值范围 (1,1,5)这个参数也就是表示从1开始每次加1直到5终止
for /l %%i in (,,) do (
@echo %%i
) ::========/f
::文件内容
::第1行1 第1行2 第1行3
::第2行1 第2行2 第2行3
::第3行1 第3行2 第3行3
::第4行1 第4行2 第4行3 :: 读写文件所有内容,内容里有空格会断
for /f %%i in (.txt) do echo %%i :: 空格为分隔 显示第1列
for /f "delims= " %%i in (.txt) do echo %%i :: 空格为分隔 显示第2列
for /f "tokens=2 delims= " %%i in (.txt) do echo %%i :: 空格分隔显示2 列 %%i为列1 %%j为列2 i和j要是连续的字母
for /f "tokens=2,3 delims= " %%i in (.txt) do echo %%i %%j
bat语法的更多相关文章
- editplus bat语法高亮
editplus bat语法高亮 今天需要在Windows上写批处理,因为没写过,避免关键字错误,就需要语法高亮了,editplus默认没有bat语法文件,赶紧解决. 1:到 http://www.e ...
- Windows 批处理(bat)语法大全
本文是学习bat整理的笔记,由于内容较多,建议结合右侧文章大纲查看. %~dp0[获取当前路径] %~dp0 “d”为Drive的缩写,即为驱动器,磁盘.“p”为Path缩写,即为路径,目录 cd % ...
- 简单bat语法
一.简单批处理内部命令简介 1.Echo 命令 打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当前回显设置. 语法 echo [{on off}] [message] ...
- bat语法集【转】
源文链接:http://www.cnblogs.com/jiangzhichao/archive/2012/02/15/2353004.html 1 echo 和 @@ ...
- windows bat语法
@echo off 表示在这条语句之后,所有执行命令的语句不会显示 setLocal 参考1 rem 注释 :或者:: 参考 set /p 等待用户输入 SET /A express ...
- bat语法需要注意的地方
if else 格式 if exist C:\Python27 ::空格 ( ::(与if在同一行 ...
- BATCH(BAT批处理命令语法)
bat语法备忘扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件[@more@] bat语法备忘扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的 ...
- .cmd文件与.bat文件
.cmd文件与.bat文件的区别 包括ASSOC.FTYPE.APPEND.PATH.PROMPT.SET等6个命令在.bat和命令行环境下与.cmd环境下的执行表现不尽相同在.cmd环境下这些命令无 ...
- Tomcat 8 中的startup.bat
1. bat文件 批处理文件,在DOS和Windows(任意版本)的系统中,bat文件是可执行文件 2. startup.bat 中涉及的bat语法 2.1 @. echo. echo off @ec ...
随机推荐
- STL 函数适配器(function adapter)
函数适配器(function adapter):通过不同函数适配器的绑定,组合和修饰能力,可以实现强大的功能,配合STL泛型算法完成复杂功能. 绑定(bind) template <class ...
- 杭州集训Day5
下面是Day5的题目!(其实都咕了好几天了 100+70+40=210. T1 皇后 XY 的疑难 (1s 512MB) 1.1 题目描述 有一个n*n的王国城堡地图上,皇后XY喜欢看骑士之间的战斗, ...
- oracle_fdw安装及使用(无法访问oracle存储过程等对象)
通过oracle_fdw可以访问oracle中的一些表和视图,也可以进行修改,尤其是给比较复杂的系统使用非常方便. (但不能使用oracle_fdw来访问oracle的存储过程.包.函数.序列等对象) ...
- stringstream istringstream ostringstream 三者的区别
stringstream istringstream ostringstream 三者的区别 说明 ostringstream : 用于执行C风格字符串的输出操作. istringstream : 用 ...
- JS观察者设计模式:实现iframe之间快捷通信
观察者设计模式又称订阅发布模式,在JS中我们习惯叫做广播模式,当多个对象监听一个通道时,只要发布者向该通道发布命令,订阅者都可以收到该命令,然后执行响应的逻辑.今天我们要实现的就是通过观察者设计模式, ...
- 腾讯云从零搭建PHP运行环境
一.首先我们得注册腾讯云,租用一台服务器,我选择的是CentOS 7.2 64位,这时候会给你这台主机的公网IP和内网IP,以及这台主机的用户名及密码. 二.我们可以使用腾讯云网页上自带的登录按钮进行 ...
- 数据库允许空值(null),往往是悲剧的开始 (转)
数据库字段允许空值,会遇到一些问题,此处包含的一些知识点,和大家聊一聊. 数据准备: create table user ( id int, name varchar(20), index(id) ) ...
- 客户端通过url向后端传递参数
在前端我们不仅可以通过get请求携带参数的方式向服务端传数据: https://127.0.0.1/index/?id=1&name=alex Django也允许通过,path路径的方式向se ...
- pureftp安装
1.下载 #cd /usr/local/src #wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.36.t ...
- 四:JVM调优原理与常见异常处理方案
在jvm调优之前,我们必须先了解jvm的内存模型与GC回收机制,这些在我前面的文章里面有介绍!接下来我们通过一个案例来调整jvm性能. 一测试案例: 1.1 编写demo import java.te ...