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

[文本处理] [已解决]为什么在数字前面/左边补零/补0凑齐指定位数的批处理无法正常输出?

  1. @echo off
  2. for /l %%i in (1001 1 1999) do (
  3. set a=%%a
  4. echo %a:~1,3%
  5. )
  6. pause>nul
复制代码
执行结果是这样的:
请问怎么会这样啊?
有什么错了吗?

应该是这样的

@echo off
setlocal enabledelayedexpansion
for /l %%i in (1001 1 1999) do (
set a=%%i
echo !a:~1!
)
pause>nul

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /l %%i in (1 1 999) do (
  4. set a=%%i
  5. set "a=00!a!"
  6. call echo %%a:~-3%% >>2.txt
  7. )
  8. pause>nul
复制代码

TOP

返回列表