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

[其他] 批处理如何删除/替换多个文件夹下的文件的文件名中指定字符及其前面的字符串

本帖最后由 pcl_test 于 2016-9-27 19:34 编辑

希望大神能够帮帮忙,文件夹有几十个,文件有上千个,一个个改名字很费时间,这些名字都是有规律的,比如:“abd_01;cdre_02;fsds_03”。希望能够批量删除文件名中“_"之前的字符。最好是能修改前面的字符为“6”。列如修改为“601;602;603”。

本帖最后由 DiamondbacK 于 2016-9-27 18:32 编辑

只重命名文件?
  1. PowerShell -c "ls -R | ? { ! $_.PSIsContainer } | rni -N { $_.Name -replace '.*_', '6'; }"
复制代码
  1. :: 第三方工具,无法直接排除文件夹。
  2. ren2 ".*_(.*)" "6$1" -r -f
复制代码

TOP

本帖最后由 pcl_test 于 2016-9-27 19:35 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir /a-d/b/s *_*') do (
  3.     set "name=%%~na"
  4.     ren "%%a" "6!name:*_=!%%~xa"
  5.     rem 删除ren "%%a" "!name:*_=!%%~xa"
  6. )
  7. pause
复制代码

TOP

返回列表