批处理使用(小试牛刀现学现卖,嘻)

注:/**/注释部分不属于bat的语法

1.调用pdf2swf.exe,单个转换swf,假设命名为aaa.bat

@echo off
c:        /* 指定到c盘 */     
cd\program files\swftools\                      /* cd c:\program files\swftools\ */
pdf2swf c:\temp\17.pdf -o c:\temp\17.swf -T 9 -s languagedir=c:\xpdf-chinese-simplified   /* 执行转换命令 */
cd\

 

2.调用pdf2swf.exe ,批量转换swf,假设命名为bbb.bat

@echo off
c:        /* 指定到c盘 */
cd\program files\swftools\        /* cd c:\program files\swftools\ */
set upath=F:\UploadDoc\33\科学与技术2009年全年刊电子版\         /* 变量upath:待转换文件所在目录 */
for /f %%c in ('dir /b %upath%') do pdf2swf %upath%%%c -o %upath%%%~nc.swf -T 9 -s languagedir=c:\xpdf-chinese-simplified

/* upath使用方式:%upath%  

    for %%c in ('dir /b %upath%') do  :for循环

    /f  :文件

    %%c  :子文件

    %%~nc  :不带扩展的子文件名称

    'dir /b %upath%'  :目录下文件集合(列出文件名和扩展名)

    */
cd\
pause                 /* 暂停键,按任意键继续 */

 

3.批处理文件本身的文件属性

@echo off
echo (d)rive: %~d0                   /* 所在盘符 */
echo (p)ath: %~p0          /* 所在目录 */
echo (n)ame: %~n0       /* 文件名(不带扩展名) */
echo e(x)t: %~x0       /* 文件名 */
echo %~dpnx0         /* 文件全路径 */
pause

 

4.变量自增

@echo off
setlocal enabledelayedexpansion    /* 用setlocal enabledelayedexpansion,启用变量延迟,然后把%n%改成!n! */
set upath=F:\UploadDoc\33\科学与技术2009年全年刊电子版\
c:
cd\program files\swftools\
for /f %%c in ('dir /b %upath%') do (     /* for循环内执行多条命令 */
set /a n=n+1
pdf2swf %upath%%%c -o %upath%!n!.swf -T 9 -s languagedir=c:\xpdf-chinese-simplified
)
cd\
pause

 

附:用中文做目录可以,但加上左右括号(中文括号或英文括号)就不行。所以文件路径最好不要带括号

posted on 2012-01-20 16:22  林枫山  阅读(701)  评论(0编辑  收藏  举报