中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批处理按条件获取TXT文件内容(已解决)感谢Hanyeguxing
« [1] [2] »
作者:
标题: 批处理按条件获取TXT文件内容(已解决)感谢Hanyeguxing 上一主题 | 下一主题
wmysbbs
初级用户




积分 172
发帖 52
注册 2005-3-29
状态 离线
『第 16 楼』:  

哦,是这样的,刚才我想了想,重新整理了一下思路

功能要求应该是这样:

读取A.txt的内容,把日期为今天的和显示"成功"的都输出到 今天更新.txt里面,只要第二个字段就可以了,也就是游戏名

然后再根据 今天更新.txt 执行xcopy



就是你说的

由A.txt 直接经过时间过滤出来,在今日更新.txt不要其他字段了。

[ Last edited by wmysbbs on 2009-6-25 at 12:51 ]

2009-6-25 12:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wmysbbs
初级用户




积分 172
发帖 52
注册 2005-3-29
状态 离线
『第 17 楼』:  

呵呵,OK了

if "!gu!" == "!han!" echo !ye:~3! >>!datais!今天更新.txt

2009-6-25 13:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 18 楼』:  


@echo off&&setlocal enabledelayedexpansion
del C:\今天更新.txt /f /q>nul 2>nul
set han=%date:~0,4%%date:~5,2%%date:~8,2%
For /f "skip=1 tokens=1-3 delims=," %%a in (A.txt) do (
set gu=%%a
set ye=%%b
For /f "tokens=1-3 delims=- " %%i in ("%%c") do (
set str1=0%%j
set str2=0%%k
set xing=%%i!str1:~-2!!str2:~-2!
)
if "!gu!" == "成功" if "!xing!" == "!han!" echo !ye!>>C:\今天更新.txt
)
pause


   此帖被 +2 点积分    点击查看详情   
评分人:【 wmysbbs 分数: +2  时间:2009-6-25 13:11




批处理之家 http://bbs.bathome.net/forum-5-1.html
2009-6-25 13:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wmysbbs
初级用户




积分 172
发帖 52
注册 2005-3-29
状态 离线
『第 19 楼』:  

谢谢Hanyeguxing


最终代码:


@echo off&&setlocal enabledelayedexpansion
set datais=C:\
del !datais!今天更新.txt /f /q>nul 2>nul
set han=%date:~0,4%%date:~5,2%%date:~8,2%
For /f "skip=1 tokens=1-3 delims=," %%a in (!datais!A.txt) do (
set gu=%%a
set ye=%%b
For /f "tokens=1-3 delims=- " %%i in ("%%c") do (
set str1=0%%j
set str2=0%%k
set xing=%%i!str1:~-2!!str2:~-2!
)
if "!gu!" == "成功" if "!xing!" == "!han!" echo !ye!>>!datais!今天更新.txt
)

For /f "delims=" %%i in (!datais!今天更新.txt) do (
@Echo xcopy C:\%%i\*.* X:\ /s/y/d/e
@Echo xcopy C:\%%i\*.* F:\ /s/y/d/e
)
pause

2009-6-25 13:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 20 楼』:  

批处理的开头都已经使用@echo off
下面就不要使用@Echo
echo off被使用过一次,只要不在使用echo on,回显都将一直关闭.
@是用来不显示echo off本身的
如果你想屏蔽执行成功或错误的消息,可以分别使用 >nul和 2>nul
例如:
del /f /q !!datais!今天更新.txt >nul
将屏蔽正常消息的,不使用/s时,也可以不用
del /f /q !!datais!今天更新.txt 2>nul
将屏蔽错误消息"系统找不到指定的文件"的(文件早已不存在)等的.
如果你担心他会产生,可以全部使用:
del /f /q !!datais!今天更新.txt >nul 2>nul

而且,
For /f "delims=" %%i in (!datais!今天更新.txt) do ( 中获取的%%i不就是上面的!ye!吗,直接在那里使用就可以了,不用在for一次..

[ Last edited by Hanyeguxing on 2009-6-25 at 13:32 ]



批处理之家 http://bbs.bathome.net/forum-5-1.html
2009-6-25 13:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wmysbbs
初级用户




积分 172
发帖 52
注册 2005-3-29
状态 离线
『第 21 楼』:  

好奇怪,这代码突然就用不了

2009-6-25 13:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wmysbbs
初级用户




积分 172
发帖 52
注册 2005-3-29
状态 离线
『第 22 楼』:  

哦,明白了,现在的时间是26号了

2009-6-25 13:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wmysbbs
初级用户




积分 172
发帖 52
注册 2005-3-29
状态 离线
『第 23 楼』:  

@echo off&&setlocal enabledelayedexpansion
set datais=C:\
del !datais!今天更新.txt /f /q>nul 2>nul
del !datais!更新对比.bat /f /q>nul 2>nul
set han=%date:~0,4%%date:~5,2%%date:~8,2%
For /f "skip=1 tokens=1-3 delims=," %%a in (!datais!A.txt) do (
set gu=%%a
set ye=%%b
For /f "tokens=1-3 delims=- " %%i in ("%%c") do (
set str1=0%%j
set str2=0%%k
set xing=%%i!str1:~-2!!str2:~-2!
)
if "!gu!" == "成功" if "!xing!" == "!han!" (

@Echo xcopy F:\更多网游\!ye!\*.* H:\更多网游\!ye!\ /s/y/d/e >>!datais!更新对比.bat
@Echo xcopy F:\更多网游\!ye!\*.* K:\更多网游\!ye!\ /s/y/d/e >>!datais!更新对比.bat
@Echo xcopy F:\更多网游\!ye!\*.* N:\更多网游\!ye!\ /s/y/d/e >>!datais!更新对比.bat
@Echo xcopy F:\更多网游\!ye!\*.* Q:\更多网游\!ye!\ /s/y/d/e >>!datais!更新对比.bat
)
)
@Echo exit >>!datais!更新对比.bat
start !datais!更新对比.bat
pause

[ Last edited by wmysbbs on 2009-6-25 at 13:45 ]

2009-6-25 13:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: