批处理练习

如果要查for的用法,可直接在cmd下打 for/?

练习0: set, echo


@echo off
set file=a.txt
if exist %file% (
echo "file exist"
)
pause

练习1: call
a.bat

@echo off
echo "this is a"
call b.bat
echo "end of a"
pause

b.bat

@echo off
echo "this is B"

练习2: if 处理,参数

查看help help if
c.bat 1 2
c.bat 1 1

@echo off

set p1=%1
set p2=%2

IF %p1%==%p2% goto eq
echo "not equal"
goto END
:eq
echo "equals"
goto END
:END
pause

文件是否存在
c.bat [filename]

@echo off

set file=%1
if exist %file% goto yes
echo "file not exist"
goto END
:yes
echo "file exist"
goto END
:END
pause

练习3:for
变量名是 %%var

3.1 直接for

显示出以 ./b* 开头的文件名

@echo off
for %%f in (./b*) do (
    echo %%f
)
pause

3.2 for /D

显示出以 ./te* 开头的文件夹名

@echo off
for /D %%f in (./te*) do (
    echo %%f
)
pause

/R: 列出当前目录和子目录下面的文件,与第一个例子相比,多了子文件夹下的文件名

3.3 for 语句 /L

for i in range(1,10), i+=2

@echo off
echo "带/L选项"
for /L %%i in (1,2,10) do echo %%i

echo "不带/L选项"
for %%i in (1,2,10) do echo %%i
pause

“带/L选项”
1
3
5
7
9
“不带/L选项”
1
2
10

我自己用的两个练习:
1. 显示出某路径 ./src 下的文件名, 输出到name.txt

@echo off
if exist ./res goto YES
md res
:YES
for /R  .\src  %%i in (*.*)  do (
echo %%i >> .\res\name.txt
)
pause

批量修改文件名

对当前路径下的图片进行重命名,cat_0001.jpg, cat_0002.jpg,…

保留原后缀名
%%~xa 为 %%a 的后缀名
!nm:~-4!取 nm的后4位,改为!nm:~-3!,则为001,002,…

@echo off
setlocal enabledelayedexpansion
FOR /F "delims="  %%a IN ('dir /b *.jpg,*.png,*.bmp,*.gif') DO (
  SET /a x=!x!+1
  SET nm=00000!x!
  REM echo !x!
  ren %%a cat_!nm:~-4!%%~xa
)
pause

统一后缀名

@echo off
setlocal enabledelayedexpansion
FOR /F "tokens=1,2 delims=."  %%a IN ('dir /b *.jpg,*.png,*.bmp,*.gif') DO (
  SET /a x=!x!+1
  SET nm=00000!x!
  REM echo !x!
  ren %%a.%%b cat_!nm:~-4!.jpg
)
pause

参考:http://blog.csdn.net/LZW190/article/category/1289032

电影影评数据
5331 pos, 5331 neg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值