Board logo

标题: [文本处理] (已解决)批处理怎么把文件夹名称中的数字之间的.号给替换成-号? [打印本页]

作者: itunesis    时间: 2020-3-24 20:13     标题: (已解决)批处理怎么把文件夹名称中的数字之间的.号给替换成-号?

本帖最后由 itunesis 于 2020-4-3 19:31 编辑

只把数字之间的.号替换成-号,字母中间.号不作替换。

比如把文件夹名称A.B.C 12.13.14改成A.B.C 12-13-14

这个该怎么写?
作者: itunesis    时间: 2020-4-2 21:19

大神来看看....
作者: went    时间: 2020-4-2 21:53

  1. @echo off
  2. powershell -version 2.0 -c "dir | Where-Object {$_.Attributes.ToString() -eq 'Directory'} | foreach { if ($_.Name -match '\d\.\d'){ Rename-Item $_.FullName ($_.Name -replace ('(?<=\d)\.(?=\d)','-'))}}"
  3. pause&exit
复制代码
先备份再用
作者: itunesis    时间: 2020-4-2 22:06

本帖最后由 itunesis 于 2020-4-2 22:09 编辑

回复 3# went


   你好,这个代码能不能应用在子文件夹下,实现把子文件夹的名称也按这个格式改名?
作者: went    时间: 2020-4-2 22:49

  1. @echo off
  2. powershell -version 2.0 -c "dir -Recurse | Where-Object {$_.Attributes.ToString() -eq 'Directory'} | Sort-Object {$_.FullName.Split('\').Count} -Descending | foreach {if ($_.Name -match '\d\.\d'){Rename-Item  $_.FullName ($_.Name -replace ('(?<=\d)\.(?=\d)','-'))}}"
  3. pause&exit
复制代码
有点长
作者: itunesis    时间: 2020-4-3 19:31

回复 5# went


    谢谢,测试好用




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