![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 17:25 |
共 48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]请帮我看下这个从文本读取字符的代码错在哪里? |
| 可打印版本 711 / 5 |
| 第1楼 lee928 | 发表于 2008-03-09 22:45 |
| 初级用户 发帖 14 积分 36 | |
|
[求助]请帮我看下这个从文本读取字符的代码错在哪里? set bakdriver=g:
set yesterday1=20080308 set yesterday0=2008-03-08 for /f %%i in (abc.txt) do ( set aa=%%i echo MD %BAKDRIVER%\%aa:~0,2%\%yesterday1%\echo xxcopy %aa:~2,2%\*.* %tempdriver%\ /yy /s /e /da:%yesterday0% /db:%yesterday0% echo rar m -r %aa:~4,10%.rar echo move %tempdriver%\%aa:~4,10%.rar %BAKDRIVER%\%aa%\%yesterday1%\ ) abc.txt内容如下 一部P:财务数据 二部V:客户数据 三部M:内部数据 总部N:文件 想实现从abc.txt中逐行读取字符变量,然后截取每行第1-2字符做备份目录名, 第3-4字符为需备份目录文件所在盘,余下的字符为生成备份的压缩文档名。 我现在这样运行读取变量后不正确。请达人帮忙指点一下到底哪里的错误? 运行环境win2000pro下 |
|
| 第2楼 suntb | 发表于 2008-03-09 23:01 |
| 高级用户 发帖 277 积分 581 | |
|
后面命令有错吧?
|
|
| 第3楼 suntb | 发表于 2008-03-09 23:06 |
| 高级用户 发帖 277 积分 581 | |
|
%tempdriver%变量不知道楼主哪来的,先去掉了
如果有用请自行再加上请补全路径 MD与xxcopy前的echo应该是两条命令吧? [ Last edited by suntb on 2008-3-9 at 11:10 PM ] |
|
| 第4楼 suntb | 发表于 2008-03-09 23:12 |
| 高级用户 发帖 277 积分 581 | |
|
附上运行结果图,供楼主参考是否正确
![]() |
|
| 第5楼 lee928 | 发表于 2008-03-09 23:31 |
| 初级用户 发帖 14 积分 36 | |
|
非常感谢 suntb !
但有一点不明白,还请多指教! %aa:~2,2%和!aa:~2,2! 有什么不同呢? 另外这个脚本能运行在win2000环境下吗? |
|
| 第6楼 suntb | 发表于 2008-03-10 00:05 |
| 高级用户 发帖 277 积分 581 | |
Originally posted by lee928 at 2008-3-9 23:31: 1、涉及到变量延迟 2、win2000下应该可以运行 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |