Board logo

标题: [文件操作] 【已解决】如何将文件夹名称第二条“-”后的内容批处理去除? [打印本页]

作者: 228630386    时间: 2024-8-20 18:02     标题: 【已解决】如何将文件夹名称第二条“-”后的内容批处理去除?

本帖最后由 228630386 于 2024-8-22 13:47 编辑

如何将文件夹名称第二条“-”后的内容批处理去除?
612235402B-50-305修改成:612235402B-50
685235111-92-152修改成:685235111-92
612236531B-1-405修改成:612236531B-1
641237566-50-533修改成:641237566-50
作者: 77七    时间: 2024-8-20 20:47

  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "delims=" %%d in ('dir /b /ad') do (
  4. for /f "tokens=1-2 delims=-" %%a in ("%%d") do (
  5. ren "%%d" "%%a-%%b"
  6. )
  7. )
  8. pause
复制代码

作者: aloha20200628    时间: 2024-8-20 21:10

本帖最后由 aloha20200628 于 2024-8-20 21:13 编辑

回复 1# 228630386

如下代码对当前目录下的直属子目录更名
可处理子目录名中包含多个 - 分隔符或不等量分隔符的情况,如 612236531B-11-22-33-405 和 xxx-aa-22, ...
  1. @echo off &setlocal enabledelayedexpansion
  2. for /d %%d in (*-*) do set "nF=%%~nd" &for %%a in ("c:\!nF:-=\!") do (
  3. set "nF=%%~pa" &set "nF=!nF:\=-!" &ren "%%d" "!nF:~1,-1!"
  4. )
  5. endlocal&pause&exit/b
复制代码

作者: ShowCode    时间: 2024-8-20 21:45

回复 1# 228630386
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "tokens=1,2,* delims=-" %%a in ('dir /b /ad *-*-*') do (
  4.     ren "%%a-%%b-%%c" "%%a-%%b"
  5. )
复制代码

作者: 228630386    时间: 2024-8-22 13:46

回复 2# 77七


    非常感谢!
作者: 228630386    时间: 2024-8-22 13:46

回复 3# aloha20200628


    非常感谢!
作者: 228630386    时间: 2024-8-22 13:46

回复 4# ShowCode


    非常感谢!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2