[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
靠,给新手出的题都被你们这些超级老鸟抢答了,新手看着伤心啊。

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

再有版主及以上级别的妄言者统统禁言!
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

呵呵,他们几个人的帖子不是全部被屏蔽了吗?

TOP

认错,以后这类帖子留给新人
技术问题请到论坛发帖求助!

TOP

———期望的身影(致新人)
我亲爱的朋友们,
你们可曾知道?
我是多么的渴望:
渴望触碰你们活跃的思想
渴望聆听你们讨论的声音
渴望拜读你们个性的文章
于是,我发出诚心的请柬
在等待中默默守望。。。
等待依然是那样的漫长
看到的还是熟悉的脸庞
无数次声音在心中响起:
算了吧,你还是将此遗忘
可为了你们,我还是毅然如常
但,我亲爱的人们啊
不要总叫我苦苦思量
不要总让我次次失望
叫我听到你们的声音
叫我看到你们的模样
叫我感到你们的成长
要知道
你们的身影是我最长的期望。。。
2

评分人数

***共同提高***

TOP

真有教书育人的味道,各位大大辛苦了!

TOP

回复 19楼 的帖子

一直以为 namejm 文采飞扬,原来 batman 兄也是满腹经纶啊!  ^_^
技术问题请到论坛发帖求助!

TOP

  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 编辑 ]

TOP

more兄的代码貌似有点问题!
按任意键却继续运行程序?不好吧!

TOP


@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 编辑 ]
1

评分人数

    • batman: 加分鼓励,有错误PB + 5

TOP

  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 编辑 ]
1

评分人数

    • batman: 加分鼓励,效率是问题,还将无限增大原文件PB + 3

TOP

回复 22楼 的帖子

回复more兄,好像看错题意了。第一次运行时什么也不会输出,到运行第二次时才输出“已经运行1次”。25楼同是如此的问题。
心绪平和,眼藏静谧。

TOP

  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 编辑 ]

TOP

给出本人的解了

  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. )
复制代码
***共同提高***

TOP

原帖由 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
...

不合题意,不合要求!
***共同提高***

TOP

没有读写注册表的?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表