批处理 处理文本如何实现 显示当前进度 百分比?

@echooffsetlocalenabledelayedexpansionifexistsaok.logdel/a/f/qsaok.logifexist.saokdel... @echo off
setlocal enabledelayedexpansion
if exist saok.log del /a /f /q saok.log
if exist .saok del /a /f /q .saok
for /f "tokens=1-4 delims=()-" %%a in (1.txt) do (echo %%c %%d %%a%%b>>.saok)
for /f "tokens=1-3" %%a in (.saok) do (
set a=%%c
set a=!a:~0,1!!a:~-2,1!
set a=!a:新=二!
echo %%a %%b !a!>>saok.log
)
if exist .saok del /a /f /q .saok
start notepad saok.log
exit
展开
 我来答
两只路边的蚂蚁ls
2010-04-30 · TA获得超过4467个赞
知道大有可为答主
回答量:2127
采纳率:100%
帮助的人:1364万
展开全部
批处理能力有限,处理的文件要是太大可能会提示错误

@echo off
setlocal enabledelayedexpansion
if exist saok.log del /a /f /q saok.log
if exist .saok del /a /f /q .saok
for /f "tokens=1-4 delims=()-" %%a in (1.txt) do (echo %%c %%d %%a%%b>>.saok)
for /f "tokens=1-3" %%a in (.saok) do (
set a=%%c
set a=!a:~0,1!!a:~-2,1!
set a=!a:新=二!
echo %%a %%b !a!>>saok.log
for /f "delims=" %%x in ('type .saok') do set /a w+=1
for /f "delims=" %%x in ('type saok.log') do set /a z+=1
set /a wkdxz=!z!*200/!w!
cls&echo 正在处理,已完成 !wkdxz!%%
)
if exist .saok del /a /f /q .saok
start notepad saok.log
exit

参考资料: http://zhidao.baidu.com/team/view/BAT-GO

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
云上他
2010-04-30 · TA获得超过3551个赞
知道小有建树答主
回答量:1499
采纳率:0%
帮助的人:797万
展开全部
不知道咋做,提供点思路:

应该用到 %~z1 获取文件大小
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式