Board logo

标题: 如何实现将文本中的价格各加5快呀? [打印本页]

作者: feixiang9911     时间: 2007-4-27 15:45    标题: 如何实现将文本中的价格各加5快呀?
如何实现将文本中的价格各加5快呀? 文本内容为: 81775278----15.0元/全新自挂太阳号 81780078----18.0元/全新自挂太阳号

作者: ansipeter     时间: 2007-4-27 21:42
命令行下输入:
for /f "tokens=1,2* delims=-." %a in (1.txt) do @set/p=%a----<nul&set/a(%b+5)&echo/.%c

作者: feixiang9911     时间: 2007-4-28 23:31
不瞒你说 你的这个P处理没用,运行了什么都没有

作者: feixiang9911     时间: 2007-4-28 23:35
你这个怎么生成到文件里面去

作者: bjsh     时间: 2007-4-28 23:37
1.请确定你的文本为1.txt 否则请自行修改; 2.2楼的代码没有问题;请于命令行下执行;而不是批处理文件; 对于批处理应该这样
@echo off
for /f "tokens=1,2* delims=-." %%a in (1.txt) do set /p=%%a----<nul & set /a p=%%b+5 & call set /p"=%%p%%"<nul &echo/.%%c
刚才没仔细看直接把 二楼的 % 改成 %% 就发上来了.. 定向到文本
@echo off
for /f "tokens=1,2* delims=-." %%a in (1.txt) do (set /p=%%a----<nul & set /a p=%%b+5 & call set /p"=%%p%%"<nul &echo/.%%c) >> result.txt
[ Last edited by bjsh on 2007-4-28 at 11:02 AM ]
附件 1: 1.jpg (2007-4-28 23:49, 13.97 KiB, 下载附件所需积分 1点 ,下载次数: 2)



作者: feixiang9911     时间: 2007-4-28 23:37
你这个SET前面加@是什么意思呀 @set/p=%a----<nul&set/a(%b+5)&echo/.%c 还有这个是什么意思呀

作者: bjsh     时间: 2007-4-28 23:40
你可以尝试; 命令行下分别执行 for /f "tokens=1,2* delims=-." %a in (1.txt) do @set/p=%a----<nul&set/a(%b+5)&echo/.%c 和 for /f "tokens=1,2* delims=-." %a in (1.txt) do set/p=%a----<nul&set/a(%b+5)&echo/.%c 你就知道@的作用了.. 告诉你不如让你自己体会

作者: feixiang9911     时间: 2007-4-28 23:42
呵呵 斑竹这个也不性 运行结果是这样的 .0元/全新自挂太阳号) .0元/全新自挂太阳号)

作者: feixiang9911     时间: 2007-4-28 23:57
斑竹 @echo off for /f "tokens=1,2* delims=-." %%a in (1.txt) do (@set/p=%%a----<nul&set/a(%%b+5)&echo/.%%c) >> result.txt 这个P处理怎么不对呀 运行结果是这样的 .0元/全新自挂太阳号) .0元/全新自挂太阳号) 你在帮我看看呀

作者: bjsh     时间: 2007-4-29 00:00
上面确实是不对的; 我没仔细看就把 2楼的代码 %改成 %% 就发上来了; 代码已经在 5 楼修改了;

作者: feixiang9911     时间: 2007-4-29 00:07
哦 谢谢版主了 问题已经解决 又学了不少好东西 呵呵

作者: ansipeter     时间: 2007-4-29 00:20
一个个的都是SB,真后悔帮你解决问题了,你会用吗?操! ─────────────────── 版务记录 ──────────────────── 执行:bjsh 骂粗口;特此警告!!! ─────────────────── 版务记录 ──────────────────── [ Last edited by bjsh on 2007-4-28 at 11:35 AM ]

作者: huzixuan     时间: 2007-4-29 00:37
对于一个新成员,怎能这样骂脏话. 谁一开始不都是不懂吗,还不是一个带一个 慢慢上来的

作者: zhoushijay     时间: 2007-4-29 01:23
set/p=%%a----<nul&set/a(%%b+5)&echo/.%%c 能解释一下这句话的意思吗?

作者: zhoushijay     时间: 2007-4-29 01:38
@echo off & setlocal enabledelayedexpansion for /f "tokens=1,2* delims=-" %%a in (11.txt) do echo %%b>>22.txt for /f "tokens=1 delims=." %%i in (22.txt) do (set /a a=%%i+5 echo !a! ) 我只能写这样的,效果还不好,楼上几位能解释下那句话的意思吗

作者: bjsh     时间: 2007-4-29 02:23
Originally posted by zhoushijay at 2007-4-28 12:23 PM: set/p=%%a----<nul&set/a(%%b+5)&echo/.%%c 能解释一下这句话的意思吗?
这句话应该是这样的: set/p=%a----<nul&set/a(%b+5)&echo/.%c set /p=%%a----<nul 拿1.txt的第一句来说吧 这一句就是输出 81775278----并且不换行; 对于set /p <nul不换行以前讨论很多了请搜索; set/a(%b+5) 把 %b即15加5后输出接在前面不换行的后面;(不适用于带有@echo off的批处理) echo/.%c也可以写为 echo .%c 即输出.0元/全新自挂太阳号并换行; 对于批处理中 用: set /p=%%a----<nul & set /a p=%%b+5 & call set /p"=%%p%%"<nul &echo/.%%c