![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-08 12:12 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 如何使用FOR和FIDNDTR来改变如下代码 |
| 可打印版本 717 / 9 |
| 第1楼 wfy150 | 发表于 2008-05-10 19:06 |
| 初级用户 发帖 34 积分 82 来自 江西 | |
|
如何使用FOR和FIDNDTR来改变如下代码 我想把以下代码中Delay后面的数字都改成30,而且不改变它们的位置
![]() MoveTo 7,68 MoveTo 81,91 KeyDown 16,1 KeyDown 17,1 Delay 78 KeyUp 16,1 Delay 16 KeyUp 17,1 Delay 78 KeyDown 17,1 KeyDown 16,1 Delay 62 KeyUp 17,1 Delay 1562 KeyDown 49,1 Delay 157 KeyUp 49,1 |
|
| 第2楼 26933062 | 发表于 2008-05-10 19:14 |
| 银牌会员 发帖 879 积分 2,268 | |
| 第3楼 wfy150 | 发表于 2008-05-10 20:47 |
| 初级用户 发帖 34 积分 82 来自 江西 | |
|
问下怎么把它输出的结果保存到.TXT中
|
|
| 第4楼 lxmxn | 发表于 2008-05-10 22:06 |
| 版主 发帖 4,938 积分 11,386 | |
Originally posted by wfy150 at 2008-5-10 20:47: 在每个 echo 命令后面加上一个重定向符(>>)即可。 |
|
| 第5楼 nipo | 发表于 2008-05-10 23:57 |
| 中级用户 发帖 106 积分 228 | |
Originally posted by 26933062 at 2008-5-10 07:14 PM: 领教了,佩服! 有一点不懂,请指教:~~~%%b事先没有定义,它是怎样产生作用的呢? |
|
| 第6楼 nipo | 发表于 2008-05-11 00:32 |
| 中级用户 发帖 106 积分 228 | |
|
晕!
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k 会分析 myfile.txt 中的每一行,忽略以分号打头的那些行,将 每行中的第二个和第三个符号传递给 for 程序体;用逗号和/或 空格定界符号。请注意,这个 for 程序体的语句引用 %i 来 取得第二个符号,引用 %j 来取得第三个符号,引用 %k 来取得第三个符号后的所有剩余符号。对于带有空格的文件 名,您需要用双引号将文件名括起来。为了用这种方式来使 用双引号,您还需要使用 usebackq 选项,否则,双引号会 被理解成是用作定义某个要分析的字符串的。 %i 专门在 for 语句中得到说明,%j 和 %k 是通过 tokens= 选项专门得到说明的。您可以通过 tokens= 一行 指定最多 26 个符号,只要不试图说明一个高于字母 'z' 或 'Z' 的变量。请记住,FOR 变量是单一字母、分大小写和全局的;而且, 同时不能有 52 个以上都在使用中。 |
|
| 第7楼 moniuming | 发表于 2008-05-11 00:55 |
| 银牌会员 发帖 574 积分 1,335 来自 广西 | |
|
我更喜欢自己看帮助去解决问题的人,加分鼓励!!!
|
|
| 第8楼 nipo | 发表于 2008-05-11 01:34 |
| 中级用户 发帖 106 积分 228 | |
|
谢谢鼓励!~~~本来是提了一个愚蠢的问题。呵呵^-^
|
|
| 第9楼 wfy150 | 发表于 2008-05-11 01:45 |
| 初级用户 发帖 34 积分 82 来自 江西 | |
|
原来也想这么干 忘了在给前面一个ECHO加重定向了.谢谢斑竹了
|
|
| 第10楼 youling126 | 发表于 2008-05-11 04:43 |
| 初级用户 发帖 42 积分 87 | |
|
完整的答案应该是这样吧
@echo off cd.>b.txt for /f "tokens=1* delims= " %%a in (a.txt) do ( if /i "%%a"=="delay" (echo %%a 30 >>b.txt) else echo %%a %%b>>b.txt ) ren a.txt a_old.txt ren b.txt a.txt pause |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |