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

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

本帖最后由 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

回复 4# ShowCode


    非常感谢!

TOP

回复 3# aloha20200628


    非常感谢!

TOP

回复 2# 77七


    非常感谢!

TOP

回复 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. )
复制代码
测试代码之前请做好备份

TOP

本帖最后由 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
复制代码

TOP

  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
复制代码
bat小白,请多指教!谢谢!

TOP

返回列表