[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
我来一个if的
  1. @echo off
  2. set "str=    abc d  "
  3. for /f "tokens=* delims= " %%a in ("%str%") do (
  4.         set "var=%%a"
  5.         call :ie
  6.     )
  7. echo.
  8. echo  去除空格前:  [%str%]
  9. echo.
  10. echo  去除空格后:  [%var%]
  11. echo.
  12. pause&goto :eof
  13. :ie
  14. if "%var:~-1%"==" " (set "var=%var:~0,-1%"&goto ie) else goto :eof
复制代码
不大可能的事也许今天实现,根本不可能的事也许明天会实现

TOP

呵呵,楼上的不错,先通过for循环消除开头的 空格,然后用if来检测(个人不太喜欢)...
也有几点建议:
1、标签中的变量设置不甚恰当。
程序中的var变量在这里最好放到标签:ie里,特别是比较长的程序的话,你就知道好处了。
2、那个else似乎没什么用处。
改成以下代码是否好点呢?


谢谢提点,确实,那个变量var放在子标签中很好,"程序"归"程序","函数"归"函数".

我个人也很喜欢用"函数"的方式来编写代码,再者水平有限,编写不出什么大型

的脚本,所以在这些方面有所忽略.
  1. if "%var:~-1%"==" "  call :ie "%var:~0,-1%"
复制代码
你这一行代码以前没有看到这种用法,现在才知道,学习ing. . .
不大可能的事也许今天实现,根本不可能的事也许明天会实现

TOP

No,非也,6楼请仔细看咯,d后面还有空格呢,只是看不到而己,看下面代码,用括号括起来就方便看了
  1. @echo off
  2. set "str=    abc   df  fd       d     "
  3. for /f "tokens=* delims= " %%i in ("%str%") do set "str=%%i"
  4. echo [%str%]
  5. pause
复制代码

[ 本帖最后由 ieutk 于 2008-1-2 23:09 编辑 ]
不大可能的事也许今天实现,根本不可能的事也许明天会实现

TOP

namejm出手必属精品
不大可能的事也许今天实现,根本不可能的事也许明天会实现

TOP

返回列表