[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
for /f 完全可以搞定的东西 为什么要变量去变来变去呢

TOP

回复 13# 惆怅而又凄凉
二楼 B大的不能用吗
这个显示和六楼的一样效果吧
  1. @echo off
  2. for /f "tokens=1* delims=-" %%a in ('dir /b /a-d *-*.jpg') do (
  3.     echo 正在处理文件 %%a-%%b
  4.     echo name %%a-%%b
  5.     echo fn %%a-%%b
  6.     echo fnr %%b
  7.     echo fn1 %%a
  8. )
  9. pause
复制代码

TOP

回复 15# 惆怅而又凄凉
好吧 适用实际环境就好 关于遍历完才处理以至于脚本不能正常运行 可以这样试
相对字符截取效率会稍有提升 文件名如有特殊字符  就在FOR里开启延迟 否则没必要 影响效率
  1. @echo off
  2. for %%f in (*.zip) do (
  3.      echo 正在处理文件 %%f
  4.      for /f "tokens=1* delims=-" %%a in ("%%f") do (
  5.           set "FN=%%a-%%b"
  6.           set "FNR=%%b"
  7.           set "FNL=%%a"
  8.           echo name = %%a-%%b
  9.           setlocal enabledelayedexpansion
  10.           echo fn = !FN!
  11.           echo fnr = !FNR!
  12.           echo fnl = !FNL!
  13.           endlocal
  14.      )
  15. )
  16. pause
复制代码

TOP

返回列表