[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
很有研究的说,很热闹。

TOP

13楼的方法不错,我也这样写过,但缺点在于很难作为一个函数或者模块放到一个大的批处理里面,缺乏实用性,不知道 shqf 兄有没有好的方法?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 13楼 的帖子

12楼在第一次set的时候,脱掉了三个百分号。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  1. ::%%a%%!ver!&^^^ ^*~                     are you o                 k ?" : \  / ` `  verfdxcweippo opj x ds gw !%%
  2. @echo off&setlocal enabledelayedexpansion
  3. set /p str=<%0
  4. for /l %%a in (1,1,255) do (set str=!str:~1!&if "!str!"=="" (set /a totle=%%a-2&echo !totle!&goto end))
  5. :end
  6. pause
复制代码
应该是111个字符吧,上楼的结果怎么是108呀?

[ 本帖最后由 shqf 于 2008-8-15 15:28 编辑 ]
2

评分人数

TOP

1.2:
  1. @echo off
  2. set "str=%%a%%!ver!&^^^ ^*~                     are you o                 k ?" : \  / ` `  verfdxcweippo opj x ds gw !%%"
  3. setlocal enabledelayedexpansion
  4. set "num=255"
  5. :lp
  6. set "str=!str! "&set /a num-=1
  7. if "!str:~254,1!" neq " " goto lp
  8. echo 字符个数为%num%个&pause>nul
  9. pause>nul
复制代码

[ 本帖最后由 batman 于 2008-8-15 10:09 编辑 ]
1

评分人数

***共同提高***

TOP

1.1:
  1. @echo off
  2. set "str=i like the bathome,because here is the batch of the world."
  3. set "num=80"
  4. :lp
  5. set "str=%str%0"&set /a num-=1
  6. if "%str:~79,1%" neq "0" goto lp
  7. echo 字符个数为%num%个&pause>nul
复制代码
  1. @echo off
  2. echo i like the bathome,because here is the batch of the world.>1.txt&echo.>>1.txt
  3. for /f "delims=:" %%i in ('findstr /o .* 1.txt') do set "num=%%i"
  4. set /a num-=2&del /q 1.txt
  5. echo 字符个数为%num%个&pause>nul
复制代码

[ 本帖最后由 batman 于 2008-8-15 10:00 编辑 ]
***共同提高***

TOP

哈 又学到了东西 感谢前辈们!

[ 本帖最后由 523066680 于 2008-8-15 09:26 编辑 ]

TOP

1.1
  1. @echo off
  2. echo "i like the bathome,because here is the batch of the world.">"%temp%\_strlen.txt"
  3. for %%a in ("%temp%\_strlen.txt") do set length=%%~za
  4. set /a length=length-4
  5. echo %length%
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

1.1
  1. @echo off
  2. set str=i like the bathome,because here is the batch of the world.
  3. for /f "skip=1 delims=:" %%a in ('^(echo "%str%"^&echo.^)^|findstr /o ".*"') do set /a length=%%a-5
  4. echo %length%
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

1.2题果真有点难度。
从文本中取值还好,但直接给定一字符串,大概只能就题解题了。
心绪平和,眼藏静谧。

TOP

先1.1题,1.2题有点难度呵:
  1. @echo off
  2. set str=i like the bathome,because here is the batch of the world.
  3. :count
  4. if "%str%"=="" (echo %n%) else (set /a n+=1&set str=%str:~1%&goto count)
  5. pause
复制代码

[ 本帖最后由 shqf 于 2008-8-15 07:19 编辑 ]
2

评分人数

TOP

- -!

到底是判断i like the bathome,because here is the batch of the world.这段话里面除了空格之外还有多少个字符,还是判断这个保存为文本后有多大?

TOP

*********************
屏蔽,看错题意。

[ 本帖最后由 pusofalse 于 2008-8-14 09:11 编辑 ]
心绪平和,眼藏静谧。

TOP

额……感觉也是哦……不过重定向文本的方法很简便。(我觉得这个方法可能可以解决那个--三列对齐的问题)
别的方法就麻烦喽。
给个生成文本的。
  1. @echo off
  2. echo,i like the bathome,because here is the batch of the world.>x.x
  3. for /f "tokens=*" %%a in ('dir x.x /-c ^|find " 字节" ^|find /v ":"') do (
  4. for /f "tokens=3" %%b in ('echo,%%a') do (
  5. set /a n=%%b-2
  6. call echo %%n%%
  7. del x.x
  8. )
  9. )
  10. pause>nul
复制代码

[ 本帖最后由 523066680 于 2008-8-14 09:06 编辑 ]
1

评分人数

TOP

感觉这题不是基础练习。
心绪平和,眼藏静谧。

TOP

返回列表