找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 26140|回复: 5

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

[复制链接]
发表于 2020-3-24 20:13:04 | 显示全部楼层 |阅读模式
本帖最后由 itunesis 于 2020-4-3 19:31 编辑

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

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

这个该怎么写?
 楼主| 发表于 2020-4-2 21:19:36 | 显示全部楼层
大神来看看....
发表于 2020-4-2 21:53:59 | 显示全部楼层
  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
复制代码
先备份再用
 楼主| 发表于 2020-4-2 22:06:47 | 显示全部楼层
本帖最后由 itunesis 于 2020-4-2 22:09 编辑

回复 3# went


   你好,这个代码能不能应用在子文件夹下,实现把子文件夹的名称也按这个格式改名?
发表于 2020-4-2 22:49:08 | 显示全部楼层
  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
复制代码
有点长
 楼主| 发表于 2020-4-3 19:31:09 | 显示全部楼层
回复 5# went


    谢谢,测试好用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 17:57 , Processed in 0.010201 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表