[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
首先这里用!的前提是开启了变量延迟,就是在这句代码前有setlocal enabledelayedexpansion这句代码
第一个!name:~0,-6!.txt表示的是取name变量的前6个字符组成新的文本名字,比如name变量在前面定义为abcdefghijk,那么这里的意思就是把%%i所代表的文本重命名为abcdef.txt
第2个if !errorlevel!==0这里我个人觉得有点多余,可以写成if errorlevel 0就可以了。不过他这样写可能有他的原因,他的代码我也不知道是啥
努力学习,努力挣分

TOP

  1. @echo off
  2. set name=abcdefghijk
  3. echo %name% !name! %errorlevel% !errorlevel!
  4. echo.
  5. for %%i in (%name%) do (
  6.   setlocal enabledelayedexpansion
  7.   set str=%%i
  8.   set str=!str:~0,6!
  9.   echo %str% !str! %errorlevel% !errorlevel!
  10.   endlocal
  11. )
  12. pause
复制代码

你运行看看区别
努力学习,努力挣分

TOP

返回列表