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

[文件操作] 批处理如何批量修改/替换文件名中指定位置的字符串/字段?

本帖最后由 pcl_test 于 2016-5-12 19:35 编辑

各位专家,我每天收到一堆文件,如下,我需要批量将其中第7/8位的85统一改为50,其他不变,烦请指教

A_HTXA85ECMG170000_C_BABJ_20150717054106_04898.bin.nc
A_HTXA85ECMG171200_C_BABJ_20150717174106_84381.bin.nc
A_HTXE85ECMG170000_C_BABJ_20150717055305_07583.bin.nc
A_HTXE85ECMG171200_C_BABJ_20150717175312_89005.bin.nc
A_HTXI85ECMG170000_C_BABJ_20150717060020_10635.bin.nc
A_HTXI85ECMG171200_C_BABJ_20150717180011_91104.bin.nc
A_HTXK85ECMG170000_C_BABJ_20150717060706_13269.bin.nc
A_HTXK85ECMG171200_C_BABJ_20150717180735_94047.bin.nc
A_HTXM85ECMG170000_C_BABJ_20150717061405_15513.bin.nc
A_HTXM85ECMG171200_C_BABJ_20150717181406_95506.bin.nc
A_HTXO85ECMG170000_C_BABJ_20150717062106_17715.bin.nc
A_HTXO85ECMG171200_C_BABJ_20150717182105_97141.bin.nc
A_HTXQ85ECMG170000_C_BABJ_20150717062806_20599.bin.nc
A_HTXQ85ECMG171200_C_BABJ_20150717182805_05968.bin.nc
A_HTXS85ECMG170000_C_BABJ_20150717063605_24542.bin.nc
A_HTXS85ECMG171200_C_BABJ_20150717183521_08242.bin.nc
A_HTXT85ECMG170000_C_BABJ_20150717065615_35844.bin.nc
A_HTXT85ECMG171200_C_BABJ_20150717185639_11486.bin.nc
A_HTXW85ECMG170000_C_BABJ_20150717064233_27607.bin.nc
A_HTXW85ECMG171200_C_BABJ_20150717184232_09591.bin.nc
A_HTXY85ECMG170000_C_BABJ_20150717064905_32009.bin.nc
A_HTXY85ECMG171200_C_BABJ_20150717184921_10859.bin.nc

这个没看懂

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f %%i in ('dir /b /a-d ^| findstr "^......85"') do (
  4.     set "OldName=%%i"
  5.     set "NewName=!OldName:~,6!50!OldName:~8!"
  6.     ren "!OldName!" "!NewName!"
  7. )
复制代码
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

多谢多谢,我想了好半天,你这么快做出了了,赞!!

TOP

本帖最后由 pcl_test 于 2016-5-12 20:06 编辑

举个栗子
  1. @set "name=A_HTXA85ECMG170000_C_BABJ_20150717054106_04898.bin.nc"
  2. @echo %name:~,6%50%name:~8%
  3. @pause
复制代码

TOP

返回列表