Board logo

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

作者: kxdhel    时间: 2016-9-27 17:55     标题: 批处理如何删除/替换多个文件夹下的文件的文件名中指定字符及其前面的字符串

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

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

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

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

作者: pcl_test    时间: 2016-9-27 19:32

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





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