Chinaunix首页 | 论坛 | 博客
  • 博客访问: 710256
  • 博文数量: 67
  • 博客积分: 3148
  • 博客等级: 中校
  • 技术积分: 1084
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-10 14:33
文章分类

全部博文(67)

文章存档

2013年(2)

2012年(11)

2011年(33)

2010年(21)

我的朋友

分类: WINDOWS

2011-08-05 11:10:06

@

::屏蔽后面的命令行,只出现命令执行的结果

@echo off

::关闭全局的回显功能,并且本身echo off命令不显示出来

if

IF [NOT] string1==string2 command

包含字符串的双引号不是语法所必须的, 而只是习惯上使用的一种"防空"字符

if [not] exist [路径\]文件名 待执行的命令

if errorlevel <数字> 待执行的命令

goto语句运行顺序

以下为例

##############################

if exist c:\test.txt goto 1

if not exist c:\test.txt goto 2

echo this line is not run

:2

echo file not exist

:1

echo file exist

###############################

::goto到一个标签后并不会返回到原来位置,而是执行这个标签下面的命令。

上例的执行结果:如果test.txt存在,就跳到:1执行,直到最后,而忽略goto 1

命令行和:1之间的所有命令

for语句

for %%c in (*.txt) do type %%c

%%引导变量

在xp底下,for命令扩展名被起用因此for的功能变得更加强大

FOR /L %variable IN (start,step,end) DO command [command-parameters]

批处理参数

%[1-9]表示参数,变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示

利用日期来重命名文件:

ren c:\log.txt "%date%log.txt"

字符串截取:

%var:~n,k%

我们在这里对每个参数做个说明:"%var",即我们要从中要截取字符的字符串." ~ "取字

符标志符(我是这么理解的),"n" 我们将其理解为指针,"k"我们将其理解为偏移地址.(注

:指针从零开始计数偏移地址从1开始计数)

例子:

而系统时间命名文件名就不能简单的%time%,否则就会显示找不到指定的驱动器,因为%time%中分隔时分秒的冒号":"会被认为是驱动器标识,因此只能逐段截取,如 ren 1.txt %time:~0,2%%time:~3,2%%time:~6,2%.txt ,则会显示以hhmmss.txt样式的文件名,如当前时间为17:10:12,则为"171012.txt"。%time:~3,2%表示从第4位(即第3位后)开始截取2位字符

阅读(1511) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~