您的位置:首页 > 其它

批处理命令点滴 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提供的其他变量,另外它的临时文件可以运行时产生和删除,即可实现独立程序的运行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: