一个简单的dosDemo:(所有命令key都可以通过在cmd窗口下/ ?得到help信息,如: set /?)

@echo off
setlocal EnableDelayedExpansion
set str=test
echo!str!

 

1:逐行读取文件

@echo off
setlocal EnableDelayedExpansion
set path=targetFile.txt
for /f %%i in (%path%) do (
echo %%i
)

    逐行读取主要用到for ,如下转载链接有详细说明:http://www.cnblogs.com/focusHr/archive/2009/02/05/1384751.html

  2:字符串截取

@echo off
setlocal EnableDelayedExpansion
::需求:(java)通过全包路径拷贝相应class
set str=com.fyj.test.HttpTest
rem 字符替换:将"."替换成"\"
set str=!str:.=\!
::原理:以最后一个"\"分割,第一部分就是类路径,第二部分就是类名称
rem
set /a local=0
set /a fLen=0
:loop
::%str:~-8,8% -8(local)从后数第8个位置开始,截取8(fLen)个字符
set /a local-=1
set /a fLen+=1
rem 从str中最后循环每一个字符得第一个"\"出现的位置,然后分割
set localStr=!str:~%local%,1!
if "%localStr%"=="\" (goto loopNext) else (goto loop)
:loopNext
::path
echo !str:~0,%local%!
set /a local+=1
::文件名
echo !str:~%local%,%fLen%!

 

 

 3.得到字符串长度

@echo off
setlocal EnableDelayedExpansion
set sstr=com.fyj.test.HttpTest
set index=0
set str=!sstr:~%index%,1!
:loop
set /a index+=1
set str=!sstr:~%index%,1!
if defined str (goto loop) else (goto loopEnd)
::if  "%str%"=="" (goto loopEnd) else (echo %str%&goto loop)
:loopEnd
echo 字符串: %sstr%
echo   长度: %index%

 转载:http://www.daohei.com/post/p.asp?/=2960

批处理命令详解,转载:http://www.cnblogs.com/fjchenq/archive/2007/08/06/845079.html