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

[文件操作] 求助:批处理move字符截取问题

我这里有几个文件为:1234上aaaaa     1234上01aaaaa              789456上aaaaaa       789456上aaaaaa如何把上以前相同的文件移动到同一个文件夹里面?上字之前的长度都不一样如何截取字符?

ANSI
  1. @echo off
  2. REM 主文件夹
  3. set "folder=C:\Users\lenovo\Desktop\0"
  4. REM 分隔符
  5. set "key=上"
  6. REM 移动
  7. cd /d "%folder%"
  8. for /f "tokens=1* delims=%key%" %%i in ('dir /b /a-d "*%key%*"') do (
  9. if not exist "%%i" mkdir "%%i" >nul 2>nul
  10. move "%%i%key%%%j" "%%i\%%i%key%%%j"
  11. )
  12. pause&exit
复制代码

TOP

回复 2# went


    万分感谢

TOP

回复 2# went


    不好意思哦,还有个问题想请教一下就是截取的时候能不能包含上,你这个是截取上之前的能把上包含进去?

TOP

回复 4# asdxyxy


    把9,10行修改为
  1. if not exist "%%i%key%" mkdir "%%i%key%" >nul 2>nul
  2. move "%%i%key%%%j" "%%i%key%\%%i%key%%%j"
复制代码

TOP

返回列表