- 创建文件
代码:
::使用goto 实现死循环
:start
echo off
::即让环境变量本地化,直到 endlocal 命令或者到达批处理文件结尾。
setlocal enableextensions
echo off
setlocal enableextensions
::获得系统时间
echo %time%
::延时的时间,根据自己需要设定
call :ProcDelay 500
echo %time%
:ProcDelay delayMSec_
setlocal enableextensions
for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set start_=%%h%%i%%j%%k
:_procwaitloop
for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set now_=%%h%%i%%j%%k
set /a diff_=%now_%-%start_%
if %diff_% LSS %1 goto _procwaitloop
echo create file
set num1=%random%
echo %num1%
dir c:/*.* >%num1%.txt
endlocal & goto start
- 创建文件夹和文件
代码:
:start
echo off
setlocal enableextensions
echo off
setlocal enableextensions
echo %time%
call :ProcDelay 500
echo %time%
goto start
:ProcDelay delayMSec_
setlocal enableextensions
for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set start_=%%h%%i%%j%%k
:_procwaitloop
for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set now_=%%h%%i%%j%%k
set /a diff_=%now_%-%start_%
if %diff_% LSS %1 goto _procwaitloop
echo create folder
set num1=%random%
echo %num1%
md D:/%num1%
for /l %%i in (1,1,100) do dir c:/*.* >D:/%num1%/%%i.txt
endlocal & goto start
- 累加修改文件内容
代码:
:start echo off setlocal enableextensions echo off setlocal enableextensions echo %time% call :ProcDelay 500 echo %time% goto start :ProcDelay delayMSec_ setlocal enableextensions for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set start_=%%h%%i%%j%%k :_procwaitloop for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set now_=%%h%%i%%j%%k set /a diff_=%now_%-%start_% if %diff_% LSS %1 goto _procwaitloop echo modify the contents of file ping www.google.com >>a.txt endlocal & goto start
注意:delims是指分割符,tokens是指选取分割后得到的字符串片断。
以下面这段代码为例:
FOR /F "eol=; tokens=2,3* delims=," %i in ("a,bc,def,ghij,jklmn") do @echo %i %j %k
其中Delims是“,”,所以"a,bc,def,ghij,klmn")被分隔成了a bc def ghij klmn这5段。
tokens=2,3* 表示取第2个片段、第3个片段以及第3个片段以后的所有片段,亦即:
%i=bc
%j=def
%k=ghij,klmn(此处“*”表示从第4个片段开始就不用再分割了,统统赋给%k)
所以如果你代码中用“tokens=*”的话,就表示不进行任何分割,直接把当前行赋给循环变量。
测试了下,发现很占CPU,看看如何在改进下。