`
wen866595
  • 浏览: 269023 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

更多批处理

阅读更多

 

先上一个用批处理调用yuicompressor压缩js、css的脚本(以前没学批处理时,用java写过,麻烦多了),用到的知识在下面给出:

@echo off

setlocal enabledelayedexpansion

set pwd=%CD%

set srcDir=%pwd%\testcompress
set dstDir=%pwd%\testcompressres

del /F /Q /S %dstDir%\*

for /R %srcDir% %%D in (*) do (
	
	set pth=%%~dpD
	set pth=!pth:%srcDir%=%dstDir%!
	set fname=%%~nD
	set ext=%%~xD

	if not exist !pth! 	mkdir !pth!
	
	set dst=!pth!!fname!!ext!
	
	if /I "!ext!" == ".css" (
		java -jar yuicompressor-2.4.7\build\yuicompressor-2.4.7.jar --charset utf8 --type css -o !dst! %%D
	) else if "!ext!" == ".js" (
		java -jar yuicompressor-2.4.7\build\yuicompressor-2.4.7.jar --charset utf8 --type js  -o !dst! %%D
	)
)
 

下面的知识点,感觉会常用的主要有:变量增强、延迟变量、字符串变量替换,如:

set pth=!pth:%srcDir%=%dstDir%!

 

@echo off


rem 特殊标记符:
rem CR(0D)      命令行结束符
rem Space(20)   空格,常用的参数界定符
rem Tab(09)     不常用的参数界定符
rem +           命令文件连接符
rem *, ?        文件通配符
rem ""          字符串界定符
rem ^           转义符,其后面的特殊字符按原样输出
rem |           命令管道符
rem <, >, >>    文件重定向符
rem @           命令行回显屏蔽符
rem /           参数开关引导符
rem :           批处理标签引导符
rem %           批处理变量引导符


rem 组合命令:
rem &, Usage: 第一条命令 & 第二条命令 [& 第三条命令...]
rem    同时执行多条命令,而不管命令是否执行成功。

rem &&, Usage: 第一条命令 && 第二条命令 [&& 第三条命令...]
rem    同时执行多条命令,当碰到执行出错的命令将不执行后面的命令,如果一直没有出错则一直执行完所以命令。

rem ||, Usage: 第一条命令 || 第二条命令 [|| 第三条命令...]
rem    同时执行多条命令,当碰到执行正确的命令将不执行后面的命令,如果一直没有出现正确执行的命令则一直执行完所以命令。


rem |,管道命令
rem Usage: 第一条命令 | 第二条命令 [| 第三条命令...]
rem 将第一条命令的结果作为第二条命令的参数来使用
rem sample: netstat -n -p tcp | find "49194"

rem >, >>, 输出重定向命令
rem 将一条命令或某个程序输出结果重定向到特定文件中。> 与 >> 的区别在于:
rem >  会清除原有文件中的内容后写入指定文件,
rem >> 只会追加内容到指定文件中,而不会改变其中的内容。

rem  <, >&, <&
rem  <  从文件中而不是键盘中读入命令输入。
rem  >& 将一个句柄的输出写入到另一个句柄的输入中。
rem  <& 从一个句柄读入输入并将其写入到另一个句柄输出中。


set [[/a [expression]] [/p [variable=]] string]
rem  参数说明
rem  /a :  将string设置成可求值的数字表达式
rem  /p :   将variable的值设置成输入行
rem  variable : 指定需要设置或修改的变量
rem  string :  指定要与变量关联的字符串
rem  /? : 在命令提示符显示帮助


rem  数字表达式求值(使用/a)
rem  set /a expression, set的/a参数就是让set可以支持数学符号进行数学运算,数值默认是10进制,前缀0x表示十六进制,0表示八进制数字。
rem  按优先级从高到低:
rem  运算符             执行的操作
rem  ()					分组
rem  +-*/%              算法
rem  <<  >>             逻辑移位
rem  & | ^ 				位运算
rem  + += -= *= /= %= &= ^= |= <<= >>= 赋值
rem  ,					表达式分隔符

rem  如果使用逻辑(&|)或模(%)运算符,要用引号将表达式字符串引起来。表达式中的非数字字符串将被视为环境变量名
rem  (运行对环境变量进行算术运算,而不需要使用%),其值将被转化成数字然后进行处理。如果指定的当前环境中
rem  没有定义的环境变量名,将会分配零值。


rem  提供交互界面(使用/p)
set /p var=请输入变量的值:
echo %var%



rem  用 if [not] defined variable 可以判断变量是否有内容

rem  1、环境变量
rem  如果没有任何参数,set命令将显示当前环境变量
rem  当指定变量和字符串的值时,指定的变量值将被添加到该环境,而且该字符串与该变量关联。如果环境中已存在该变量,新的字符串值将替代旧的字符串值。
rem  如果只为set命令指定一个变量和一个等号(没有字符串),则与该变量关联的字符串值将被消除(就像变量根本不存在一样)


rem  2、延迟环境变量说明与启用
rem  延迟环境变量扩展的功能,即变量延迟解析功能。此功能默认是停用的,可以谈过cmd.exe /V 或
rem  setlocal EnableDelayedExpansion来开启。使用延迟变量时需要用"!"括起。


rem  3、动态环境变量
rem  变量        说明
rem  %CD%                扩充为当前目录
rem  %DATE%              扩充为当前日期
rem  %TIME%              扩充为当前时间
rem  %RANDOM%            扩充为0到32767的随机数
rem  %ERRORLEVEL%        扩充为当前命令处理器命令扩展版本号
rem  %CMDCMDLINE%        扩充为调用命令处理器的原始命令行,即控制台路径


rem  4、变量增强(文件名路径处理)
rem  变量          说明
rem  %~I			扩充%I为删除外围"引号(有就删)
rem  %~fI			扩充%I为一个完整的路径
rem  %~dI			仅扩充%I为一个驱动器号
rem  %~pI			仅扩充%I为一个路径
rem  %~nI			仅扩充%I为一个文件名
rem  %~xI			仅扩充%I为一个文件扩展名
rem  %~sI			扩充%I为完整的短命路径
rem  %~aI			扩充为文件的属性(arsh)
rem  %~$PATH:I		变量可以是其他的,如:windDir、programfiles等在环境变量PATH指定的路径总搜索文件,扩充%I为找到的第一个文件的完整路径;若未找到文件,则扩充%I为空。

rem  组合扩展参数效果:
rem  %~dpI:		仅扩充%I为驱动器号和路径
rem  %~nxI:		仅扩充%I为文件名加扩展名
rem  %~fsI:		扩充%I为完整的短名路径(%~sI)


rem 数值范围迭代
rem for /L %%i in (start, step, end) do cmd
for /L %%i in (1, 1, 5) do echo %%i

 

 

 

 

 

1
5
分享到:
评论

相关推荐

    电脑必备】70个常用的批处理文件工具.rar

    至于"去一雨软件看看.url"的链接,它可能是指向某个提供更多批处理工具或软件资源的网站。通过这样的链接,用户可以轻松找到更多有用的工具,以满足个性化的需求。同时,这也为用户提供了学习和交流批处理文件编写的...

    批处理基础批处理基础

    批处理基础.htm可能是一个关于批处理技术的网页教程,而`batch`可能是包含更多批处理脚本示例的文件夹,`ZZ_files`可能是一些辅助文件或者批处理过程中的输出结果。 掌握批处理基础,能够极大地提升日常的系统管理...

    visualbat(可视化批处理编辑工具)

    - `更多相关资料.url` 和 `脚本之家.url`:这些可能是链接到更多批处理学习资源的快捷方式。 总的来说,VisualBat为初学者提供了轻松学习和使用批处理的途径,借助这款工具,用户可以更加高效地管理和自动化日常的...

    清理机器的批处理.rar

    8. **批处理专杀.rar**:这可能是一个包含更多批处理清理脚本的压缩文件,用于处理特定的系统问题或病毒。 综上所述,这个"清理机器的批处理.rar"压缩包提供了一系列实用的批处理脚本,涵盖了系统清理、优化、安全...

    收集的常用批处理_bat_程序

    - **批处理工具集**:有些第三方工具集如NTUtil、AutoIt等提供了更多批处理扩展功能,如文件操作、进程控制等。 6. **安全与注意事项** - **权限问题**:批处理可能涉及对系统文件的操作,因此需要适当的权限执行...

    bat 批处理

    **批处理技术详解** 批处理(Batch Processing)是Windows操作系统中的一个基础功能,它允许用户通过编写批处理脚本(通常...记得不断练习,掌握更多批处理的精髓,你会发现这个看似简单的工具背后蕴藏着强大的潜力。

    批处理基础

    ### 批处理基础详解 批处理,作为计算机操作系统中一种重要的自动化工具,广泛应用于各种场景,从简单的系统维护到复杂的...希望本文的详尽解析能帮助读者快速成为批处理高手,探索更多批处理在实际工作中的应用场景。

    批处理大全_很多批处理都在这里

    通过批处理,可以实现一些简单的自动化流程,甚至可以作为自动化工具的起点,为后续学习 PowerShell 或其他更高级的脚本语言打下基础。 总的来说,这个批处理大全集合是一个宝贵的资源库,无论是初学者还是经验丰富...

    批处理,超级好玩的批处理

    5. **实用场景**:批处理脚本在日常工作中有很多实际应用,如批量修改文件属性,定时自动备份,批量重命名文件,清理无用文件,甚至可以结合其他工具(如PowerShell)实现更复杂的自动化任务。 6. **学习与调试**:...

    系统工具批处理 批处理文件

    这个批处理文件名为"系统工具批处理.exe",可能已经封装成了可执行文件形式,以便用户更方便地运行和利用这些功能。 批处理文件的创建过程涉及以下几个关键知识点: 1. **命令语法**:批处理文件基于DOS命令行接口...

    批处理大全+批处理基础+详细实例

    "批处理基础批处理基础.rar"可能是对基础内容的补充或深入,可能会包含更多的实战案例和技巧,帮助学习者巩固基础并提升应用能力。 "批处理实验"这部分可能是一系列设计好的练习,旨在让学习者亲手实践,通过实际...

    批处理集合.非常批处理

    5. **脚本组合**:将多个批处理脚本合并成一个,实现更复杂的功能。 批处理脚本的使用极大地提高了工作效率,特别是在需要重复执行相同操作的情况下。用户可以根据需求定制脚本,也可以借鉴和学习这个压缩包中的...

    批处理日历、批处理时钟

    批处理文件“日历时钟.bat”由多个DOS命令组成。其中,`date`和`time`命令分别用于获取和显示系统的日期与时间。为了实现双休日界面颜色的变化,批处理脚本中可能包含`if`语句来进行条件判断,检查当前日期是否属于...

    如何编写批处理文件批处理文件批处理文件

    解析成零或更多的符号。然后用已找到的符号字符串变量值 调用 For 循环。以默认方式,/F 通过每个文件的每一行中分开 的第一个空白符号。跳过空白行。您可通过指定可选 "options" 参数替代默认解析操作。这个带...

    批处理辅助器 里面有很多很难找的批处理

    4. 调用外部程序:通过START命令可以启动其他应用程序,执行更复杂的任务。 在使用批处理辅助器时,需要注意以下几点: 1. 了解命令语法:每个命令都有其特定的参数和用法,需查阅文档或在线资源学习。 2. 错误处理...

    多道批处理两级调度模拟系统

    在这个"多道批处理两级调度模拟系统"的课程设计中,我们将探讨如何使用C++编程语言,结合VC++6.0开发环境,来模拟实现一个多道批处理系统的两级调度策略。这种系统通常在大型主机和早期的计算机系统中使用,它允许多...

    批处理生成程序批处理生成程序,方便您更好的编写批处理程序

    编写批处理文件可以大大提高工作效率,尤其是对于那些需要在多台计算机上执行相同操作的管理员来说。然而,手动编写这些脚本可能会涉及复杂的命令语法和逻辑结构,对不熟悉DOS命令行的人来说可能有些困难。 批处理...

    RAMOS一键批处理多合一

    在描述中提到的"V3.7.3"是该工具的版本号,这表明它已经经过了多次迭代和优化,以提供更好的性能和稳定性。"在线制作P驱R驱F驱内存系统工具"这一部分揭示了RAMOS的功能,其中"P驱"通常指的是Pendrive(USB闪存驱动器...

    系统常用批处理网络常用批处理

    在实际应用中,批处理可以结合其他工具,如VBS、PowerShell或Python等,实现更复杂的功能。了解和掌握批处理技术,对于系统管理员和网络工程师来说,是提升工作效率、简化日常任务的关键。通过学习和实践,你可以...

    精心收集的经典批处理批处理文件

    这个网站可能包含更多的批处理教程、示例和工具,对学习和实践批处理技术非常有帮助。 综上所述,"精心收集的经典批处理批处理文件"是一个值得探索的资源,通过学习和使用其中的批处理脚本,可以提升Windows系统...

Global site tag (gtag.js) - Google Analytics