[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
常用的delims法:
  1. for /f "tokens=*delims=0" %%a in ("0010") do echo %%a
复制代码
处理固定位数的数字时的方法:
  1. set str=0010
  2. set /a n=1%str%-10000
  3. ::改进算法后可以兼容大数,但是代码太冗长,不实用
复制代码
当数值于十的时候可以:
  1. set str=0010
  2. set /a n=0x%str%
  3. ::改进算法后同样可以兼容大数,但是代码太冗长,不实用
复制代码
for /l+if:
  1. set str=0010
  2. for /l %%a in (0 1 10) do if "!str:~%%a,1!" gtr "0" echo;!str:~%%a!
复制代码

TOP

来个低效的
  1. @echo off&setlocal enabledelayedexpansion
  2. set /p c=请输入数字
  3. set n=%c%
  4. for /l %%a in (1 1 9) do set n=!n:%%a=0!
  5. set /a c=1%c%-1%n%
  6. echo %c%
复制代码

TOP

tokens=*会将参数设为从第一个非分隔符字符开始的其后所有字符串,所以当分隔符为0时,tokens=*能去除字符串头部的所有0(如果存在的话)

TOP

返回列表