[ Last edited by hbby on 2008-3-22 at 09:34 PM ]作者: hbby 时间: 2008-3-22 21:48 老哥回复真是快,非常感谢您的帮助,在工作上帮了大忙,向您学习!作者: terse 时间: 2008-3-23 02:18 发一个
@echo off
set 七星彩=04
set 全国联网22选5=22
set 全国联网29选7=29
for %%i in (*.txt) do call :lp %%i
pause
goto :eof
:lp
for /f "tokens=1-3 delims=期 " %%a in (%1) do if "%%c" == "开奖公告" (call ren %1 p_%%%%a%%%%b.txt&goto :eof) else call ren %1 s_%%%%a%%%%b.txt&goto :eof作者: hbby 时间: 2008-3-25 00:55 请老哥帮忙修改下以下代码,我加了判断当天生成的文本代码,但是运行不成功:
@echo off
set 七星彩=04
set 全国联网22选5=22
set 全国联网29选7=29
set 排列3=35
set 联网36选7=36
set 超级大乐透=85
set 足球胜平负=90
set 足球4场进球=94
set 足球6场半全场胜平负=98
for /f "tokens=1,2,3* delims=- " %%a in ('date /t') do set dt=%%a-%%b-%%c
for /f "tokens=1,2,3,4,5" %%a in ('dir *.txt^|find "%dt%"') do for %%i in (%%e) do call :lp %%i
pause
goto :eof
:lp
for /f "tokens=1-3 delims=期 " %%a in (%1) do if "%%c" == "开奖公告" (call ren %1 p_%%%%a%%%%b.txt&goto :eof) else call ren %1 s_%%%%a%%%%b.txt&goto :eof
我用以下代码就可以:
@echo off
for /f "tokens=1,2,3* delims=- " %%a in ('date /t') do set dt=%%a-%%b-%%c
for /f "tokens=1,2,3,4,5" %%a in ('dir *.txt^|find "%dt%"') do for %%i in (%%e) do (
set flag=
for /f "usebackq tokens=1,2,3 delims=期( " %%a in ("%%i") do (
if not defined flag (
if /i %%c==开奖公告 (
if /i %%a==七星彩 (
ren "%%i" "p_04%%b.txt"
)
if /i %%a==全国联网22选5 (
ren "%%i" "p_22%%b.txt"
)
if /i %%a==全国联网29选7 (
ren "%%i" "p_29%%b.txt"
)
if /i %%a==排列3 (
ren "%%i" "p_35%%b.txt"
)
if /i %%a==联网36选7 (
ren "%%i" "p_36%%b.txt"
)
if /i %%a==超级大乐透 (
ren "%%i" "p_85%%b.txt"
)
if /i %%a==足球胜平负 (
ren "%%i" "p_90%%b.txt"
)
if /i %%a==足球4场进球 (
ren "%%i" "p_94%%b.txt"
)
if /i %%a==足球6场半全场胜平负 (
ren "%%i" "p_98%%b.txt"
)
)
if /i %%c==终端机销售情况 (
if /i %%a==七星彩 (
ren "%%i" "s_04%%b.txt"
)
if /i %%a==全国联网22选5 (
ren "%%i" "s_22%%b.txt"
)
if /i %%a==全国联网29选7 (
ren "%%i" "s_29%%b.txt"
)
if /i %%a==排列3 (
ren "%%i" "s_35%%b.txt"
)
if /i %%a==联网36选7 (
ren "%%i" "s_36%%b.txt"
)
if /i %%a==超级大乐透 (
ren "%%i" "s_85%%b.txt"
)
if /i %%a==足球胜平负 (
ren "%%i" "s_90%%b.txt"
)
if /i %%a==足球4场进球 (
ren "%%i" "s_94%%b.txt"
)
if /i %%a==足球6场半全场胜平负 (
ren "%%i" "s_98%%b.txt"
)
)
set flag=flag
)
)
)
谢谢!!
[ Last edited by hbby on 2008-3-25 at 01:31 AM ]作者: terse 时间: 2008-3-25 02:50 这样行不?
@echo off
set 七星彩=04
set 全国联网22选5=22
set 全国联网29选7=29
set 排列3=35
set 联网36选7=36
set 超级大乐透=85
set 足球胜平负=90
set 足球4场进球=94
set 足球6场半全场胜平负=98
for /f %%a in ('date /t') do set dt=%%a
for /f %%i in ('dir /b /s /a-d *.txt 2^>nul') do (
findstr /ic:"%dt%" "%%i" >nul 2>nul&& call :lp "%%i"
)
pause
:lp
for /f "tokens=1-3 delims=期 " %%a in (%~1) do if "%%c" == "开奖公告" (call ren %1 p_%%%%a%%%%b.txt&goto :eof) else call ren %1 s_%%%%a%%%%b.txt&goto :eof作者: hbby 时间: 2008-3-25 18:48 terse老哥判断文本的代码,如果不包含"开奖公告"或“终端机销售情况”的字符,那么程序就会报存在一个重命名文件或找不到文件的错,更或者会更改一个其他的文件名,老哥能否修改下代码使其判断下文本里的第一行字段是否包含“终端机销售情况”的代码,使其判断文本更加准确!谢谢!作者: terse 时间: 2008-3-25 22:38
Quote:
Originally posted by hbby at 2008-3-25 18:48:
terse老哥判断文本的代码,如果不包含"开奖公告"或“终端机销售情况”的字符,那么程序就会报存在一个重命名文件或找不到文件的错,更或 ...
那就再加一个判断吧
@echo off
set 七星彩=04
set 全国联网22选5=22
set 全国联网29选7=29
set 排列3=35
set 联网36选7=36
set 超级大乐透=85
set 足球胜平负=90
set 足球4场进球=94
set 足球6场半全场胜平负=98
for /f %%a in ('date /t') do set dt=%%a
for /f %%i in ('dir /b /s /a-d *.txt 2^>nul') do (
findstr /ic:"%dt%" "%%i" >nul 2>nul&& call :lp "%%i"
)
pause
:lp
for /f "tokens=1-3 delims=期( " %%a in (%~1) do if "%%c" == "开奖公告" (call ren %1 p_%%%%a%%%%b.txt&goto :eof) else if "%%c" == "终端机销售情况" (call ren %1 s_%%%%a%%%%b.txt&goto :eof) else goto :eof作者: hbby 时间: 2008-3-26 01:45 thank you very very much!
解决后的代码是:(自己存档用)
@echo off
set 七星彩=04
set 全国联网22选5=22
set 全国联网29选7=29
set 排列3=35
set 联网36选7=36
set 超级大乐透=85
set 足球胜平负=90
set 足球4场进球=94
set 足球6场半全场胜平负=98
for /f "tokens=1,2,3* delims=- " %%a in ('date /t') do set dt=%%a-%%b-%%c
for /f "tokens=1,2,3,4,5" %%a in ('dir *.txt^|find "%dt%"') do for %%i in (%%e) do call :lp %%i
pause
goto :eof
:lp
for /f "tokens=1-3 delims=期 " %%a in (%1) do if "%%c" == "开奖公告" (call ren %1 p_%%%%a%%%%b.txt&goto :eof) else if "%%c" == "终端机销售情况" (call ren %1 s_%%%%a%%%%b.txt&goto :eof) else if "%%c" == "终端机销售情况(注:这里的销售额指的是主玩法和子玩法的合计)" (call ren %1 s_%%%%a%%%%b.txt&goto :eof) else goto :eof
[ Last edited by hbby on 2008-3-26 at 02:01 AM ]作者: terse 时间: 2008-3-26 03:06 为何多写一判断呢 可以省略的吧