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

[文件操作] [已解决]批处理怎样只取第一个字母作为文件夹?

只取第一个字母作为文件夹
目录文件:座套DXF\AA\G1201\136\FT2032-G1202-KC五位-146-副背料-倒顺-551.dxf
我要把批处理放在“座套DXF”下,执行一下得结果为座套DXF\AA\G1201\136\F\FT2032-G1202-KC五位-146-副背料-倒顺-551.dxf
我要把批处理放在“AA”下,执行一下得结果为座套DXF\AA\G1201\136\F\FT2032-G1202-KC五位-146-副背料-倒顺-551.dxf

要二个程序。且多次执行不重复创建F文件夹
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

这样吗?
  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir /b /s /a-d') do (
  3.     if "%%a" neq "%~0" (
  4.        set str=%%~na
  5.        for %%i in ("%%a\..") do (
  6.            if "%%~ni" neq "!str:~,1!" (
  7.                md "%%~dpa!str:~,1!" 2>nul
  8.                move "%%a" "%%~dpa!str:~,1!"
  9.            )
  10.        )
  11.     )
  12. )
  13. pause
复制代码
1

评分人数

TOP

回复 2# terse

你好帮忙再修改一下
    只取第一、二、三的英文字母作为文件夹
目录文件:座套DXF\AA\G1201\136\XFL2032-G1202-KC五位-146-副背料-倒顺-551.dxf
座套DXF\AA\G1201\136\XFL2032-G1202-KC五位-146-副背料-倒顺-551.dxf
我要把批处理放在“座套DXF”下,执行一下得结果为座套DXF\AA\G1201\136\FT\FT2032-G1202-KC五位-146-副背料-倒顺-551.dxf
DXF\AA\G1201\136\XFL\XFL2032-G1202-KC五位-146-副背料-倒顺-551.dxf
我要把批处理放在“AA”下,执行一下得结果为座套
DXF\AA\G1201\136\FT\FT2032-G1202-KC五位-146-副背料-倒顺-551.dxf
DXF\AA\G1201\136\XFL\XFL2032-G1202-KC五位-146-副背料-倒顺-551.dxf
只取英文不取数字,文件的前几位都是英文,有二位英文与三位英文

TOP

回复 3# 511182890
  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir /b /s /a-d') do (
  3.     if "%%a" neq "%~0" (
  4.        set str=%%~na
  5.        for /f "tokens=1-2 delims=0123456789" %%i in ("!str:~,3!") do (
  6.            set "str=%%i%%j"
  7.        )
  8.        for %%i in ("%%a\..") do (
  9.            if "%%~ni" neq "!str!" (
  10.                md "%%~dpa!str!" 2>nul
  11.                move "%%a" "%%~dpa!str!"
  12.            )
  13.        )
  14.     )
  15. )
  16. pause
复制代码
1

评分人数

TOP

返回列表