批处理命令点滴 bat
2007-02-28 11:35
232 查看
rem #001
rem 当%%i 在 myfile.txt ,遍历当前所有子目录,并将文件copy 到指定目录
md d:\bbb
FOR /F "tokens=1,2* delims= " %%i in (myfile.txt) do for /r %%a in (%%i) do copy %%a d:\bbb\
rem #002
rem myfile.tx为子系统名称,根据子系统将不同目录下的同类型的文件汇总成单一文件
rem 去掉只读属性
attrib * -r /s
rem 将每个单个的文件增加一个空行,防止合并操作导致的并行问题
FOR /F "tokens=1,2* delims= " %%i in (myfile.txt) do for /r %%a in (*.prc,*.tab,*.viw,*.sql,*.vw) do copy %%a+sapcebr.txt %%a
rem 按照子系统遍历并合并文件
FOR /F "tokens=1,2* delims= " %%i in (myfile.txt) do copy .\%%i\table\*.tab+sapcebr.txt .\%%i_tab.sql
FOR /F "tokens=1,2* delims= " %%i in (myfile.txt) do copy .\%%i\sp\*.prc+sapcebr.txt .\%%i_sp.sql
FOR /F "tokens=1,2* delims= " %%i in (myfile.txt) do copy .\%%i\view\*.vw+sapcebr.txt .\%%i_view.sql
FOR /F "tokens=1,2* delims= " %%i in (myfile.txt) do copy .\%%i\view\*.viw+sapcebr.txt .\%%i_view.sql
FOR /F "tokens=1,2* delims= " %%i in (myfile.txt) do copy .\%%i\function\*.fnc+sapcebr.txt .\%%i_fnc.sql
FOR /F "tokens=1,2* delims= " %%i in (myfile.txt) do copy .\%%i\function\*.udf+sapcebr.txt .\%%i_fnc.sql
FOR /F "tokens=1,2* delims= " %%i in (myfile.txt) do copy .\%%i\seq\*.seq+sapcebr.txt .\%%i_seq.sql
FOR /F "tokens=1,2* delims= " %%i in (myfile.txt) do copy .\%%i\seq\*.trg+sapcebr.txt .\%%i_trg.sql
如何把var得到的版本信息字符串赋值给一个变量
可以提取prompt的变量,下面是一个通用的方法:
可以建立一个以下形式的批处理文件,内容可以酌情修改。
::getvar.bat
@if [%1]==[invoke] prompt set %2=%3
@if [%1]==[invoke] goto end
@echo off
%comspec% /c %0 invoke %1 %2>tt.bat
call tt
:end
运行时,加上环境变量名和prompt对应变量值即可,如:
getvar curver $v
这种方法的优点是除了可以获取DOS 版本之外,还可获取prompt提供的其他变量,另外它的临时文件可以运行时产生和删除,即可实现独立程序的运行。
rem 当%%i 在 myfile.txt ,遍历当前所有子目录,并将文件copy 到指定目录
md d:\bbb
FOR /F "tokens=1,2* delims= " %%i in (myfile.txt) do for /r %%a in (%%i) do copy %%a d:\bbb\
rem #002
rem myfile.tx为子系统名称,根据子系统将不同目录下的同类型的文件汇总成单一文件
rem 去掉只读属性
attrib * -r /s
rem 将每个单个的文件增加一个空行,防止合并操作导致的并行问题
FOR /F "tokens=1,2* delims= " %%i in (myfile.txt) do for /r %%a in (*.prc,*.tab,*.viw,*.sql,*.vw) do copy %%a+sapcebr.txt %%a
rem 按照子系统遍历并合并文件
FOR /F "tokens=1,2* delims= " %%i in (myfile.txt) do copy .\%%i\table\*.tab+sapcebr.txt .\%%i_tab.sql
FOR /F "tokens=1,2* delims= " %%i in (myfile.txt) do copy .\%%i\sp\*.prc+sapcebr.txt .\%%i_sp.sql
FOR /F "tokens=1,2* delims= " %%i in (myfile.txt) do copy .\%%i\view\*.vw+sapcebr.txt .\%%i_view.sql
FOR /F "tokens=1,2* delims= " %%i in (myfile.txt) do copy .\%%i\view\*.viw+sapcebr.txt .\%%i_view.sql
FOR /F "tokens=1,2* delims= " %%i in (myfile.txt) do copy .\%%i\function\*.fnc+sapcebr.txt .\%%i_fnc.sql
FOR /F "tokens=1,2* delims= " %%i in (myfile.txt) do copy .\%%i\function\*.udf+sapcebr.txt .\%%i_fnc.sql
FOR /F "tokens=1,2* delims= " %%i in (myfile.txt) do copy .\%%i\seq\*.seq+sapcebr.txt .\%%i_seq.sql
FOR /F "tokens=1,2* delims= " %%i in (myfile.txt) do copy .\%%i\seq\*.trg+sapcebr.txt .\%%i_trg.sql
如何把var得到的版本信息字符串赋值给一个变量
可以提取prompt的变量,下面是一个通用的方法:
可以建立一个以下形式的批处理文件,内容可以酌情修改。
::getvar.bat
@if [%1]==[invoke] prompt set %2=%3
@if [%1]==[invoke] goto end
@echo off
%comspec% /c %0 invoke %1 %2>tt.bat
call tt
:end
运行时,加上环境变量名和prompt对应变量值即可,如:
getvar curver $v
这种方法的优点是除了可以获取DOS 版本之外,还可获取prompt提供的其他变量,另外它的临时文件可以运行时产生和删除,即可实现独立程序的运行。
相关文章推荐
- 批处理bat命令 获取当前盘符和当前目录和上级目录的代码
- Bat命令中路径含有空格处理方法
- 批处理命令 BAT备份MySQL数据库
- 批处理bat命令 获取当前盘符和当前目录和上级目录的代码
- 批处理bat命令--获取当前盘符和当前目录和上级目录
- 批处理命令Bat
- 批处理bat命令--获取当前盘符和当前目录和上级目录
- 视频文件处理命令行点滴
- 批处理bat 延时执行命令的两种方法
- window批处理bat命令详解
- bat脚本中执行一系列外部脚本或命令中途任意环节失败而结束整个脚本执行的处理方法
- 一个批处理(BAT)文件中成功执行多个ant命令的操作
- 批处理命令 BAT备份MySQL数据库
- 批处理命令 BAT备份MySQL数据库
- 批处理命令 BAT备份MySQL数据库
- 通过bat来处理oracle的sqlplus命令
- 批处理命令 BAT备份MySQL数据库
- 批处理bat命令--获取当前盘符和当前目录和上级目录
- 批处理(bat)脚本语言(1) - 批处理的专用命令
- 批处理BAT命令REM 和 ::