中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 10:20
48,037 主题排行 / 350,122 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 问个删除文件的批处理
可打印版本  2,833 / 27
第16楼 redtek 发表于 2006-11-07 03:36
金牌会员 发帖 1,147 积分 2,902
你要的延时变量所达到的效果:

第二种方法:



输出如下:
第17楼 onlykier 发表于 2006-11-07 03:44
初级用户 发帖 23 积分 50
楼上的兄弟,你完全是在偷巧阿
这样,我要求
@echo %dbg% off

for /L %%i in (0,1,4) do (
echo %%i
)
echo %%i 中不能用%%i来显示,要用另外一个变量显示,该变量和%%i一点关系都不能有
第18楼 redtek 发表于 2006-11-07 03:47
金牌会员 发帖 1,147 积分 2,902
onlykier兄,看了你8楼的代码例子,并运行了很多次并调试……
不过,你上面要处理的问题并没有跟上你的思路:)

你想了如何去解决一个问题,可是偏偏出现错误的地方几乎全都是因为一些基础的知识点所影响着:)
而onlykier兄的学习速度太快了,但最后还要回到那些基础的变量赋值、SET、延时变量、For的结构、特殊符号的运行和转义……

所以,建议onlykier把下面链接中所提到的知识点重新、从头到尾的一行一行代码全都键入一遍~:)
然后回过头来再看,相信onlykier兄会超越现在……
而这一切过程很可能仅仅几天甚至一、两天就够了,
可是这一两天的从头到尾做一遍这些知识点,相信onlykier永远都不再会问题了,
而是开始走入了知道如何处理一些不知道的问题并可以极快的找到办法:)


[简单索引]关于SET变量、延时变量、各种符号的用法……
http://www.cn-dos.net/forum/viewthread.php?tid=24549&fpage=1

[ Last edited by redtek on 2006-11-7 at 03:57 AM ]
第19楼 onlykier 发表于 2006-11-07 04:02
初级用户 发帖 23 积分 50
楼上的兄弟,你杀了我吧
我再来个例子
我只想显示第一行,下面的代码确都显示,why?
@echo off
dir d: /b>>d:\1.txt
set c=0
echo 1,%c%
for /f %%i in (d:\1.txt) do (
if %c% equ 0 (set c=1
echo 2,%c%
echo %%i)
)

[ Last edited by onlykier on 2006-11-6 at 03:12 PM ]
第20楼 redtek 发表于 2006-11-07 04:10
金牌会员 发帖 1,147 积分 2,902
楼上的兄弟,我不杀你,还是你让我自杀吧~:)

你的 for (你这里不加 /f 参数能读出文件内容来吗?) %%i in (d:\1.txt) do (
第21楼 onlykier 发表于 2006-11-07 04:12
初级用户 发帖 23 积分 50
我修改了,楼上的兄弟,你qq多少,我等答案等的的心痛啊
第22楼 onlykier 发表于 2006-11-07 04:14
初级用户 发帖 23 积分 50
set c=1
echo 2,%c%
为什么输出的 %c%还是0阿??
第23楼 onlykier 发表于 2006-11-07 04:28
初级用户 发帖 23 积分 50
论坛翻页,没看到redtek 的第二种方法 ^^!
set b=0
for /l %%i in (0,1,4) do (
echo !b!
call set /a b+=1
再请教下,这里问什么要有call呢?
第24楼 redtek 发表于 2006-11-07 04:30
金牌会员 发帖 1,147 积分 2,902


[ Last edited by redtek on 2006-11-7 at 04:36 AM ]
第25楼 lxmxn 发表于 2006-11-07 04:30
版主 发帖 4,938 积分 11,386

第26楼 redtek 发表于 2006-11-07 04:31
金牌会员 发帖 1,147 积分 2,902
Originally posted by onlykier at 2006-11-7 04:28:
论坛翻页,没看到redtek 的第二种方法 ^^!
set b=0
for /l %%i in (0,1,4) do (
echo !b!
call set /a b+=1
再请教下,这里问什么要有call呢?


那个 call 删了吧,那是做别的实验留下的COPY上来时忘了删了~:)
第27楼 redtek 发表于 2006-11-07 04:32
金牌会员 发帖 1,147 积分 2,902
lxmxn兄代码非常简捷,欣赏~:)
第28楼 onlykier 发表于 2006-11-07 04:48
初级用户 发帖 23 积分 50
@echo off
dir c:\ /b>>c:\1.txt
set /p s=<c:\1.txt
echo %s%
pause
这段代码为什么只显示第一行?
我觉的应该显示好多阿,因为c:\1.txt内容给了s了阿
上一页  1 2
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023