[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
楼上的代码我也想过,可是做函数库就不行了。。。

函数库讲求的是通用性,你不知道别人传给你的参数有多长,如果大于255那只能永远得出长度255了。。。

TOP

我这边测试9楼的代码 怎么变成死循环了,有些晕~

另外 你惨了 叫你翻老贴好像没翻~  我列的都是cn-dos 还有咱bathome的啦

看这里:http://bbs.bathome.net/viewthread.php?tid=1480

terse的解法 !!%x%^^* 是字符串
@echo off
::!!%x%^^*
for /f "skip=1 delims=" %%i in ('type %0') do set "str=%%i"&goto lp
:lp
    setlocal enabledelayedexpansion
    for /l %%i in (1,1,255) do if "!str:~%%i!"=="" set/a n=%%i-2&echo !n!&pause&exit

[ 本帖最后由 523066680 于 2009-1-31 13:05 编辑 ]

TOP

他的东西我都看了,很多都是日期方面的,这些我都会加上。。。

可是 数组、计算、字串 等库都没写啊。。。

TOP

没听说过那个Ritchie Lawrence?
for /f "delims=" %%a in ('%0') do (echo %%a)

TOP

这个库文件嘛,数组相关的至少要有7个以上,现在才写了3个。。。

还有很多都才完成0%。。。

人多好办事,没人帮忙啊。。。

TOP

这活不能急吧,罗马非一日建成.
for /f "delims=" %%a in ('%0') do (echo %%a)

TOP

谢了楼上兄。。。

这方面的资料都看过,可是特殊字符的处理实在困难。。。

我写了个雏形,兄帮忙看下。。。

使用时call :StrLen "a" "123"

123的长度3就保存在变量a里面了(外层引号自动处理)

  1. :StrLen
  2. setlocal enableextensions
  3. set "str=a%~2"
  4. set "str=%str:"=s%"
  5. set "str=%str:^^=s%"
  6. set "str=!str:%%=s!"
  7. set /a strlength=0
  8. :StrLen_1
  9. set /a strlength+=1
  10. if not "!str:~%strlength%,1!"=="" goto StrLen_1
  11. endlocal&set /a "%~1=%strlength%-1"
  12. goto :EOF
复制代码


可是有两个字符还有麻烦:%、!

!号和%号在传递的时候被预处理掉了,其他符号就没问题了

如果实在没有办法,就用这个了

另外兄,帮忙写浮点运算。。。

TOP

看着进度这么慢  我也不忍  这帖子真不是时候 论坛好少人,可能大家都还在老家  哎~

      我又对这方面兴趣不大,不过回想起我在某个帖子里有收集一些关于字符串处理的连接 这里贴出来

那个帖子“http://bbs.bathome.net/thread-3136-1-1.html


-------------------------------------------------------------
    如何判断变量的长度??
原文链接为:http://www.cn-dos.net/forum/viewthread.php?tid=24745

---------------------------------------------------------------
    [求助]如何获得字符的字数和截取字符
原文链接为:http://www.cn-dos.net/forum/viewthread.php?tid=28571

---------------------------------------------------------------
   [精彩][批处理字符出现次数统计]
原文链接为:http://www.cn-dos.net/forum/viewthread.php?tid=25182

类似的一个
    如何统计某个字符串在文本中出现的次数?
原文链接为:http://www.cn-dos.net/forum/viewthread.php?tid=21250

---------------------------------------------------------------
又抓到一个帖子了,标题: 如何验证输入的字符串包含双字节字符
http://www.cn-dos.net/forum/viewthread.php?tid=36780

---------------------------------------------------------------
标题: [已解决]优化一下计算字符串长度的代码,谢谢!
http://www.cn-dos.net/forum/viewthread.php?tid=39292

[ 本帖最后由 523066680 于 2009-1-30 21:07 编辑 ]

TOP

肯定有意义,对于用我这软件来编写P来所,麻烦的功能打个勾就可以了。。。

TOP

讨论一个,  我觉得这是非常非常麻烦的事情 因为很多前辈都讨论过这个问题。   又似乎有解决过的足迹,搜搜看吧。
  有想借用vbs的念头,但是建立纯批的函数也是有一定意义的,
大伙努力吧。

TOP

需要协助:字符长度

:StrLen
for /f "skip=1 delims=:" %%a in ('^(echo "%~1"^&echo.^)^|findstr /o ".*"') do set /a "%~2=%%a-5"
goto :EOF

这是代码,但是对于 ^ % ! " 会失效,帮助完善!

TOP

不错,能放到 时间 类里面,不过功能好像太少了。。。

有没有人帮忙完善 数组 类的,这个很重要。。。
(PS:已经写好NewArray、GetArrayWides、GetArrayNums)
希望帮忙写CopyArray等。C里面数组相关的函数都可以写上。。。

另外,字符 类的也很紧要啊,获得变量长度、是否纯英文、是否纯数字、英文转大小写、倒序,还有N多库都没写啊,大家帮帮忙

最难的应该就是 计算 类了吧,有兴趣可以挑战一下,主要是浮点运算,加减乘除先弄一个吧,然后绝对值、平方、N次方、四舍五入、退一法、进一法,最难度就是开方了。。。

TOP

插一个,希望不会影响浏览……
    应该是说类似函数的东西吧,俺有在%userprofile%下放一些
函数,开始运行cmd时调用,比如说这个

RT.bat
:----------------------------------------------
systeminfo |find "系统启动时间:"
:----------------------------------------------
当我要查看系统运行时间的时候就 打RT指令,看自己玩多久电脑了。


顶贴 ,拿分 , 闪人……

TOP

类似的http://www.cn-dos.net/forum/view ... ge=1&highlight=函数
没什么人响应啊,希望这个能够有发展。
另外库文件里的__doc__最好使用英语吧?如果用中文可能会有一些比较麻烦的东西要处理。

anyway,我希望能够看见成果。(虽说windows开始转向powershell了)
for /f "delims=" %%a in ('%0') do (echo %%a)

TOP

返回列表