找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: batman

【练习-030】批处理计算程序运行次数

[复制链接]
发表于 2008-10-23 20:33:06 | 显示全部楼层
靠,给新手出的题都被你们这些超级老鸟抢答了,新手看着伤心啊。

我看这样的题目新手几乎没有机会了

再有版主及以上级别的妄言者统统禁言!
发表于 2008-10-23 21:11:45 | 显示全部楼层
呵呵,他们几个人的帖子不是全部被屏蔽了吗?
发表于 2008-10-23 21:14:28 | 显示全部楼层
认错,以后这类帖子留给新人
 楼主| 发表于 2008-10-23 21:52:41 | 显示全部楼层
———期望的身影(致新人)
我亲爱的朋友们,
你们可曾知道?
我是多么的渴望:
渴望触碰你们活跃的思想
渴望聆听你们讨论的声音
渴望拜读你们个性的文章
于是,我发出诚心的请柬
在等待中默默守望。。。
等待依然是那样的漫长
看到的还是熟悉的脸庞
无数次声音在心中响起:
算了吧,你还是将此遗忘
可为了你们,我还是毅然如常
但,我亲爱的人们啊
不要总叫我苦苦思量
不要总让我次次失望
叫我听到你们的声音
叫我看到你们的模样
叫我感到你们的成长
要知道
你们的身影是我最长的期望。。。

评分

参与人数 2PB +15 收起 理由
namejm + 10 值得各位深思
随风 + 5 加分!

查看全部评分

发表于 2008-10-23 22:05:07 | 显示全部楼层
真有教书育人的味道,各位大大辛苦了!
发表于 2008-10-23 22:07:45 | 显示全部楼层

回复 19楼 的帖子

一直以为 namejm 文采飞扬,原来 batman 兄也是满腹经纶啊!  ^_^
发表于 2008-10-24 00:26:46 | 显示全部楼层
  1. :0
  2. @echo off
  3. for /f "delims=" %%a in ('type %0') do (set "str=%%a"&goto :out)
  4. :out
  5. set "str=%str::=%"
  6. set /a "str+=1"
  7. for /f "delims=" %%a in ('type %0') do (
  8.    if not defined god (
  9.       set god=hell
  10.       >%0 echo :%str%
  11.    ) else (
  12.        >>%0 echo %%a
  13.    )
  14. )
  15. if %str% gtr 1 (echo %str% times already) else (echo This is the first time)
  16. rem 如果上面这行有中文会出错,不解...
  17. set "god="&pause>nul&goto :%str%
复制代码


[ 本帖最后由 more 于 2008-10-24 00:52 编辑 ]
发表于 2008-10-24 01:26:27 | 显示全部楼层
more兄的代码貌似有点问题!
按任意键却继续运行程序?不好吧!
发表于 2008-10-24 05:01:40 | 显示全部楼层

@echo off
echo i love bathome.net
if exist 1.txt goto b
if not exist 1.txt goto a

:a
>1.txt echo 1
goto :eof
:b
set /p i=<1.txt&&>2.txt echo 1&&set /p o=<2.txt
set /a a=%i%+%o%
echo %a% >1.txt
type 1.txt&del 2.txt
pause
goto :eof
pause

碍与我没时间了不能完善!就只能这样了!
本人思路:
把次数加在文件里。在拿出来
缺点:没掉出框框,因为我这里不能用msg命令不知道为什么!就没测试了!
=================================================================
做代码的时候搞出了1个问题请教!
-----
把代码

echo i love bathome.net

:a
>1.txt echo 1
goto :eof
:b
set /p i=<1.txt&&>2.txt echo 1&&set /p o=<2.txt
set /a a=%i%+%o%
echo %a% >1.txt
type 1.txt&del 2.txt
pause
goto :eof
if exist 1.txt goto b
if not exist 1.txt goto a

pause

蓝色的地方换了个位子就不能在1.txt文件里递加了!里面的内容一直是1
难道是运行了
:a标签后的 ?不过:a标签为什么可以运行?不是我用代码限制了吗?
if not exist 1.txt goto a


[ 本帖最后由 jellyhk 于 2008-10-24 05:09 编辑 ]

评分

参与人数 1PB +5 收起 理由
batman + 5 加分鼓励,有错误

查看全部评分

发表于 2008-10-24 13:15:38 | 显示全部楼层
  1. @echo off

  2. set code=你们的身影是我最长的期望

  3. for /l %%a in (10 -1 0) do (

  4. for /f "skip=2 tokens=*" %%b in ('find "%code%%%a" %0') do (if not "%%b" equ "" (set /a



  5. t=%%a,n=%%a+1&goto :a)))

  6. :a

  7. if "%t%" equ "0" (echo 我不会让你看见"%code%"的) else (echo 这是你第%t%次看见"%code%")

  8. >>%0 echo 你们的身影是我最长的期望%n%

  9. pause>nul

  10. 你们的身影是我最长的期望0
复制代码
不知道这样是否符合要求.
按照版主大大的要求改了一下,期待高效率的方法出现!!

[ 本帖最后由 qq641255849 于 2008-10-24 18:38 编辑 ]

评分

参与人数 1PB +3 收起 理由
batman + 3 加分鼓励,效率是问题,还将无限增大原文件

查看全部评分

发表于 2008-10-24 13:58:15 | 显示全部楼层

回复 22楼 的帖子

回复more兄,好像看错题意了。第一次运行时什么也不会输出,到运行第二次时才输出“已经运行1次”。25楼同是如此的问题。
发表于 2008-10-24 21:40:25 | 显示全部楼层
  1. @echo off
  2. set name=%~n0
  3. set num=%name:~4%
  4. if not "%num%" == "0" (echo 你已经运行本程序%num%次了&&goto count)

  5. :count
  6. set /a num=%num%+1
  7. copy %0 test%num%.bat>nul
  8. echo 欢迎光临 WWW.bathome.net
  9. echo 按任意键结束本程序...&pause>nul
  10. del %0
复制代码

[ 本帖最后由 shqf 于 2008-10-24 21:41 编辑 ]
 楼主| 发表于 2008-10-24 21:42:34 | 显示全部楼层

给出本人的解了

  1. ::0
  2. @echo off
  3. set /p num=<%~fs0
  4. set "num=%num:~2%"
  5. if %num% neq 0 echo.&echo 程序已运行了%num%次
  6. set /a num+=1&pause>nul
  7. for /f "delims=" %%i in (%~fs0) do (
  8.     if not defined flag (
  9.        echo ::%num%>%~fs0&set "flag=a"
  10.        ) else (
  11.        echo %%i>>%~fs0
  12.     )
  13. )
复制代码
 楼主| 发表于 2008-10-24 21:45:24 | 显示全部楼层
原帖由 shqf 于 2008-10-24 21:40 发表
@echo off
set name=%~n0
set num=%name:~4%
if not "%num%" == "0" (echo 你已经运行本程序%num%次了&&goto count)

:count
set /a num=%num%+1
copy %0 test%num%.bat>nul
echo 欢迎光临 WWW.bathome.net
...

不合题意,不合要求!
发表于 2008-10-24 21:53:04 | 显示全部楼层
没有读写注册表的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 00:49 , Processed in 0.024253 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表