![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-05 23:56 |
共 48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 请教如何去掉最后一个“,” |
| 可打印版本 959 / 2 |
| 第1楼 windad | 发表于 2007-10-04 11:17 |
| 新手上路 发帖 5 积分 14 | |
|
请教如何去掉最后一个“,” 做了一个sql server存储过程的批处理,有个问题请教
读取a.txt : POLICENO varchar(10) * PNAME varchar(10) ISADMIN char(2) PASSWD varchar(20) UNITID varchar(9) MOBILE varchar(20) PHONE varchar(20) EMAIL varchar(20) WADDRESS varchar(50) HADDRESS varchar(50) MEMO varchar(100) end 输出为b.txt : @POLICENO varchar(10), @PNAME varchar(10), @ISADMIN char(2), @PASSWD varchar(20), @UNITID varchar(9), @MOBILE varchar(20), @PHONE varchar(20), @EMAIL varchar(20), @WADDRESS varchar(50), @HADDRESS varchar(50), @MEMO varchar(100), 批处理命令是: for /f "tokens=1,2" %%a in (.\databaseinfo\%filename%.txt) do @echo @%%a %%b, >> .\%filename%\upAdd%filename%.txt 现在想去掉b.txt中最后一行末尾的的“,”或者在输入b.txt时最后一行没有”,“ 因为存储过程最后一行不能有“,”,而其他行末尾是必须的。 希望高手给代码能解释一下,好认真学习,谢谢大家!!! [ Last edited by windad on 2007-10-4 at 11:19 AM ] |
|
| 第2楼 Climbing | 发表于 2007-10-04 18:02 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
我想应该有两种办法:
第一种,是使用sed,应该很简单实现,但sed很难学。 第二种,先生成b.txt,然后再对b.txt进行第二次处理,将最后一行的“,"去掉即可。 |
|
| 第3楼 lxmxn | 发表于 2007-10-04 19:24 |
| 版主 发帖 4,938 积分 11,386 | |
|
Sed版 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |